Usuário anônimo
Mais
Como usar o SSH para executar um script shell em uma máquina remota?
Tenho que executar um script shell (windows/Linux) em uma máquina remota.
Tenho o SSH configurado tanto na máquina A quanto na B. Meu script está na máquina A que executará parte do meu código em uma máquina remota, a máquina B.
Os computadores locais e remotos podem ser baseados no sistema Windows ou Unix.
Há alguma maneira de fazer isto usando plink/ssh?
1160
3
Isso irá solicitar a sua senha, a menos que você tenha copiado a chave pública do seu usuário hostA para o arquivo authorized_keys no diretório home do .ssh do usuário. Isso permitirá a autenticação sem senha (se aceita como um método auth na configuração do servidor ssh).
Assumindo que você queira fazer isso automaticamente a partir de uma máquina "local", sem entrar manualmente na máquina "remota", você deve olhar para uma extensão TCL conhecida como Expect, ela é projetada precisamente para este tipo de situação. Eu também forneci um link para um script para logar/interagir via SSH.
https://www.nist.gov/services-resources/software/expect
http://bash.cyberciti.biz/security/expect-ssh-login-script/
Primeiro, copie o script para a máquina B usando o scp
Então, basta executar o roteiro
Isto funcionará se você tiver dado permissão para executar o script.