Tengo un servidor web CentOS 5.7, y quiero cambiar el lugar predeterminado en el que aterrizo cuando me conecto usando SSH.
Actualmente aterrizo /home/username
y quiero aterrizar en su /home
lugar.
He ido como root y añadido PermitUserEnvironment yes
a /etc/.ssh/sshd_config
- y como yo lo entiendo esto, entonces barre propia del usuario ssh
carpeta para un environment
archivo. Lo que no estoy seguro es exactamente lo que estoy agregando a este archivo de entorno, ya export path=$PATH:$HOME
que no parece funcionar, ya sea aquí o en mis archivos .bashrc o .bash_profile (que, según tengo entendido, no haría una diferencia de todos modos como una conexión SSH es un shell no interactivo?).
Gracias por adelantado.
usermod
cuando se cambia nada respecto a un usuario que escribe/etc/passwd
, para evitar errores:usermod -d /home user
..bashrc
me hizo facepalm. Es tan simple y obvio, ¡desearía haberlo pensado! Buen trabajo. ¡Prestigio!Lo que debe recordar es que
~/.ssh/environment
se lee antes de que se genere un shell ossh
comando, por lo que (por ejemplo) ni la exportación ni $ PATH tienen sentido. Aquí solo puede establecer variables de entorno (no ejecutar comandos generales de shell).Si toma el entorno para un shell ssh no interactivo, luego modifique eso, debería obtener lo que desea para los comandos no interactivos. Por ejemplo:
$ ssh mylogin@myserver env
le dará con qué comienza el ssh en su servidor. Si escribe su
~/.ssh/environment
archivo como:PATH=/usr/local/bin
y vuelva a ejecutar lo anterior, debería obtener "bash: env: comando no encontrado". ¡Bueno!
Ahora, construya su ruta explícitamente, en función de lo que estaba en la base de su sistema
sshd
(es decir, la primera llamada "ssh .... env"), por ejemplo (agregando/usr/local/bin
en la cabeza):PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Tenga en cuenta también que no es útil intentar configurar el CWD en
~/.ssh/rc
(que se ejecuta después de~/.ssh/environment
leerse, pero antes de sussh
shell o comando) ya que su shell se iniciará (de forma predeterminada) en su ruta de inicio.fuente