Editado para reflejar el problema que realmente quería resolver:
Necesito configurar mi entorno rubí para poder implementarlo a través de Capistrano.
export PATH=$HOME/.rbenv/bin:$PATH
eval "$(rbenv init -)"
Los puse en ~ deploy / .profile, pero cuando entro, no se están ejecutando. Ideas?
Estoy ejecutando Ubuntu 12.04.
La pregunta original fue:
Cuando ingreso a otra cuenta en localhost, no carga mi .profile. ¿Cómo puedo forzar a ssh a cargarlo? Estoy ejecutando Ubuntu 12.04.

.profilesolo se carga para shells de inicio de sesión, que no es una sesión ssh (de forma predeterminada). Si desea que algo se ejecute al inicio de todos los shells interactivos, póngalo en su.bashrclugar (.zshrco lo que sea que use su shell).Además, si solo desea iniciar sesión en otra cuenta en la máquina local, ssh probablemente sea excesivo. Es posible que desee usar
suo algo en su lugar.fuente
.bashrcque tampoco está cargado.Usar bash debería resultar en lectura
~/.bashrc. Lo siguiente puede ayudar con ksh y sh (bash en modo sh), o cuando~/.bashrcno se ejecuta durante el inicio de sesión.El sshd consulta
~/.ssh/environment(verifique los permisos de sshd_config (5)) y~/.ssh/sshrco~/.ssh/rc. Esto da la posibilidad de configurarENV=~/.profileoBASH_ENV=~/.profileySSH_LOGIN=YEn
~/.profileTengo el siguiente diseño (ReemplazarENVconBASH_ENVcuando use bash):fuente
Bash
~/.profilesolo lee cuando es un shell de inicio de sesión y~/.bash.bashrcsolo si tiene un terminal, ninguno de los cuales es verdadero por defecto cuando se invoca un comando con ssh. Sin embargo, hay varias otras opciones para configurar el entorno, en el servidor, todas desafortunadamente dependiendo de la configuración del sistema:~/.zshenvincluso en este caso; sin embargo, no hay un archivo de configuración correspondiente para bash.PermitUserEnvironmentopción está activada/etc/sshd_config, ssh leerá~/.ssh/environment. Lamentablemente, esta opción está desactivada por defecto.pam_env.sose llama conuser_readenv=1in/etc/pam.d/sshd, se leerá~/.pam_environment. Si bien el módulo no es el predeterminado, se llama así al menos en Ubuntu .command=directiva en el archivo de claves autorizadas llamando a un script de contenedor que establece el entorno y ejecuta$SSH_ORIGINAL_COMMANDal final (I el comando es uno para shell, por lo que eval es apropiado aquí, pero no estoy seguro) .fuente
Probablemente tenga un
~/.bash_profile, que anula~/.profile.fuente