Você pode executar o seguinte comando:
ssh -t user@host bash --noprofile
onde a opção -t
para ssh
é forçar a alocação de tty .
Eu quero ssh em minha conta, mas não quero que a versão atual do meu script de login .profile seja executada. Existe uma maneira de efetuar login sem executar o .profile?
(Disclaimer: Eu encontrei uma solução que eu postei abaixo, mas eu me pergunto se há uma resposta melhor)
Você pode executar o seguinte comando:
ssh -t user@host bash --noprofile
onde a opção -t
para ssh
é forçar a alocação de tty .
Isso é o que acabei fazendo:
scp me@machine:.profile .
# Fix .profile
scp .profile me@machine:.
ssh me@machine
Para evitar problemas permanentemente, no meu .bashrc
no sistema de destino, tenho:
if [ -z "$SSH_CLIENT" ] ; then
...
fi
em torno de coisas incompatíveis com ssh. SSH_CLIENT
é definido para shells invocados via ssh e não para outros shells.
ssh user@somewhere "env >env.ssh"
passe por cima de somewhere
, faça o login como user
e:
env >env.local
diff env.local env.ssh