Executa vários ssh seguidos (um dentro do outro)

0

Eu gostaria de fazer o seguinte em uma linha (então eu posso alias no meu .bashrc )

0. before doing anything I am user1 on server0 
1. ssh to server1
2. impersonate user2 (**THIS HAS TO BE DONE BY 'sudo -u user2 sudosh'**)
3. ssh from server1 to server2
4. cd dirOnServer2

então meu prompt seria após

user@server0:/dirOnServer0) superSshCommand
user2@server2:/dirOnServer2)

Isso é possível?

    
por statquant 27.01.2017 / 15:23

1 resposta

0

A maior parte disso pode ser obtida em um único comando e, portanto, pode ser colocado em um alias:

ssh -t server1 sudo -u user2 ssh server2

No entanto, alterar o diretório é mais difícil. Se você pode garantir que user2 deve sempre chegar ao seu diretório de destino, você pode colocar o cd dirOnServer2 no seu .profile (ou .bash_profile ) assim:

cd dirOnServer2

Esteja ciente de que a alteração do diretório só ocorrerá se o .profile for originado e isso acontecer apenas para um shell interativo.

    
por 27.01.2017 / 17:39

Tags