¿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
giten mi máquina local para usar/opt/local/bin/git-*en mi máquina remota - No tendría este problema si estuviera forzando un
ttyconssh -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?