É possível sair do SSH no LocalCommand?

3

Eu sei que não é o caso de uso pretendido do LocalCommand com SSH, mas se eu quisesse executar um comando e sair da sessão SSH diretamente usando o LocalCommand, seria possível?

Por exemplo:

LocalCommand <some command>; exit

Eu tentei o acima, mas parece que não funciona e ainda gera o shell.

    
por josh 09.08.2016 / 11:22

2 respostas

1

O comando local é um filho do processo do cliente ssh. Se você quiser fechar a sessão, você pode matar o cliente, ou seja, matar o pai do comando local.

LocalCommand kill $PPID

Em seguida, o SSH se conectará ao host remoto e, assim que a autenticação for executada, mas antes de executar um comando remoto, o cliente será eliminado.

Eu não vejo o ponto. Por que não executar um comando remoto não operacional ( ssh '' ou ssh : ), que sairá imediatamente após o login?

    
por 10.08.2016 / 00:59
3

Solução 1:

ssh [email protected]  'cd foo/bar && rm *.foobar'

Isso ainda imprimirá a saída no stdout, mas sairá por padrão após a execução do comando.

Solução 2:

Solução específica para seu caso de uso: Com base no comentário que você mencionou, você usará o ssh apenas para este comando ssh,

Você pode editar o arquivo chamado /etc/profile

Na última linha, basta fazer todos os comandos, você deseja executar e, em seguida, digite exit

Ex:

ls / > /tmp/output
exit

Isto irá executar o comando e sair da sessão

e você poderia simplesmente chamar usando ssh user@host , nada mais.

PS: Isso só vai rodar o comando e sair, lembre-se, se você quisesse ssh no sistema para qualquer coisa, isso não deixaria, a menos que você removesse a saída na última linha.

    
por 09.08.2016 / 11:31

Tags