Comando SSH embutido

15

É possível executar um comando SSH de estilo embutido simples, por exemplo:

ssh [email protected] { cd foo/bar && rm *.foobar }
Ahmed Nuaman
fonte

Respostas:

27

Se você deseja executar cd foo/bar && rm *.foobarna máquina remota, simplesmente faça

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

e veja man ssh...

ssh [-1246AaCfgkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec] [-D
[bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L   [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R
[bind_address:]port:host:hostport] [-S ctl_path] [-w tunnel:tunnel
[user@]hostname [command]

As peças que você deseja:

ssh [user@]hostname [command]
Sven
fonte
2
Vale notar que você também pode canalizar STDIN e STDOUT usando esse método - outro dia eu fiz uma imagem em HD de uma máquina remota usando DD sobre ssh.
crazy2be
9

estilo 1: ssh user@host 'embedded command'

estilo 2: ssh user@host " $(cat cmd.txt) "
cmd.txt é um arquivo que contém seu comando remoto, localizado na sua máquina local

Jinyu Liu
fonte