¿Cómo me aseguro de que ssh sources .profile
y .bashrc
en el inicio de sesión sin tty?
Tengo un Mac (10.6.8) que estoy usando para varias tareas UNIX-y como alojar repositorios git. Tengo el inicio de sesión remoto habilitado a través del panel "Compartir" de las Preferencias del Sistema. Cuando ssh
en la máquina, bash
sources ~/.profile
, que configuré para obtener mi archivo ~/.bashrc
y configuré mi MacPorts ruta. El problema es que cuando ejecuto ssh
sin un tty
, como este:
ssh myhost echo \$PATH
O ejecuta un comando git
que esencialmente usa ssh
de la misma manera:
git clone ssh://myhost/~/code/myrepo.git
El archivo ~/.profile
nunca se obtiene, por lo que mi variable $PATH
falta /opt/local
(donde MacPorts ha instalado git
). Soy consciente de que:
- Puedo configurar
git
en mi máquina local para usar/opt/local/bin/git-*
en mi máquina remota - No tendría este problema si estuviera forzando un
tty
conssh -t
Pero no quiero hacer nada de eso. Quiero que mi máquina remota genere mi archivo ~/.profile
sin importar si estoy iniciando sesión con w / a tty
¿Cómo puedo hacer que ese sueño se haga realidad?
También: verifiqué el comportamiento en un par de máquinas Linux (Debian y Fedora), y ambos sistemas parecen obtener el archivo ~/.bashrc
en el inicio de sesión, independientemente de si es un tty
. Tenía la impresión de que BSD y Linux usan el mismo OpenSSH y bash , ¿parece que la diferencia en el comportamiento podría deberse a diferencias en los archivos /etc
config?