Script Bash no Linux sem usar métodos de esperar ou gerar [duplicado]

0

Eu quero entrar em um sistema remoto no Ubuntu usando um arquivo de script que será executado no meu sistema. O script contém os seguintes comandos

#!/bin/bash
echo 'systemPwd' | ssh [email protected]

Ao executar este script, não consegui efetuar login no sistema. Não recebe a senha do comando echo. Mas eu não sei como usar alternativas.

Mas eu tentei este script

#!/bin/bash
sshpass -p 'systemPwd' ssh [email protected] <<-'ENDSSH'
    #commands to run on remote host
    echo 'systemPwd' | sudo -S  shutdown-h now
ENDSSH  

No script acima, o sshpass foi usado. O problema é que sshpass precisa ser instalado primeiro. Alguém sugere um método alternativo para isso, o que me faria conectar ao sistema remoto sem sshpass .

NOTA:

** > Estou perguntando isso sem usar sshpass ou esperar ou gerar métodos

because I want to make this script work in angstorm OS . The problem I'm facing is I could not install this ssh pass packages in the angstrom OS .**

    
por aadhithyan 12.01.2017 / 13:05

1 resposta

1

Eu recomendo que você use SSH Keys .

Para criar SSH Keys use este comando na máquina do cliente:

ssh-keygen -t rsa 

Em seguida, você pode copiar a chave pública no arquivo authorized_keys da nova máquina com o comando ssh-copy-id :

ssh-copy-id [email protected]

Depois disso, você pode acessar sua máquina remota sem senha.

para mais informações: link

    
por 12.01.2017 / 13:14