Linux: Como executar automaticamente comandos no login do SSH?

10

Sempre que eu faço login no meu servidor Linux, eu gostaria de ter vários comandos executados automaticamente (definir algumas variáveis, alterar a localização, etc.)

Isso precisa ser feito no login do usuário, não no início do sistema.

Como posso configurá-lo para fazer isso?

    
por Alasdair 08.11.2011 / 07:37

3 respostas

23

Coloque os comandos em ~/.bashrc . Qualquer coisa lá é executada cada vez que você entra.

Se você precisar de comandos para executar somente ao efetuar login via ssh (mas não ao efetuar login fisicamente), provavelmente poderá testar a presença da variável de ambiente SSH_CONNECTION e executar os comandos somente se achar que existe.

    
por 08.11.2011 / 07:41
7

Basta colocar isso em ~ / .bashrc ou /etc/bash.bashrc se você quiser isso para todos os usuários:

if [[ -n $SSH_CONNECTION ]] ; then
    echo "I'm logged in remotely"
fi
    
por 08.11.2011 / 11:22
0

Alternativamente, você pode especificar um comando para ser executado durante a invocação de ssh :

$ ssh -t server 'cmd; exec bash -l'

O último comando na lista deve iniciar uma sessão interativa no seu shell preferido. Se você tiver muitos comandos para executar, considere a criação de um arquivo de script no seu servidor SSH.

    
por 01.08.2017 / 12:57