Como executar automaticamente “ssh-agent bash” e “ssh-add” quando logar? [duplicado]

0

Eu tenho um cenário onde, sempre que um usuário faz login em uma máquina CENTOS via SSH, eu preciso executar os seguintes comandos:

ssh-agent bash ssh-add

[Este outro tópico explica por que estou usando esses comandos:

ssh -add reclama: não foi possível abrir uma conexão com seu agente de autenticação ]

Eu tentei colocá-los em .bashrc, mas quando eu faço login via Putty, parece que o log in trava.

Eu também tentei colocar os dois comandos em um shell script e depois executar o shell script manualmente após o login, mas isso não está funcionando (parece que apenas o "ssh-agent bash" é executado).

Então é possível fazer com que esses dois comandos sejam executados quando o usuário faz o login? E se sim, como posso fazer isso?

Obrigado Jim

    
por user555303 20.09.2018 / 15:46

1 resposta

0

Se você colocar

ssh-agent bash ssh-add

no seu .bashrc , você obterá uma recursão infinita: o shell executando .bashrc starts ssh-agent , que inicia outra cópia de bash ... que executará novamente .bashrc , e o processo vai repetir.

Você vai querer algo assim:

if [[ "$SSH_AUTH_SOCK" = "" ]]; then
    # on the first round, we do this...
    exec ssh-agent bash
else
    # ... and when ssh-agent is running, we do this instead.
    ssh-add
fi
    
por 22.09.2018 / 15:59