Boa noite.
Eu conheço 3 formas de fazer o que vc necessita.
Uma é a que vc já descartou o sshpass
Outra seria usar o comando expect, que com ele vc consegue automatizar
qualquer prompt interativo.
Basicamente vc dispara um comando e espera uma resposta, dependendo da
resposta envia outra ação, espera novamente uma resposta, envia outra
ação e assim por diante.
Mas o mais correto mesmo é fazer a troca de chaves públicas, para que
consiga fazer o ssh sem precisar autenticar.
Na maquina cliente, ou seja, na maquina que irá originar o SSH, executar
1 vez o seguinte comando com o usuário que irá utilizar:
#> ssh-keygen -t rsa
Não definir senha nenhuma, deixar em branco
Os comandos abaixo são para serem executados toda vez que quisermos
adicionar maquinas a serem acessadas sem a necessidade de utilizar senhas.
Em seguida, também na maquina cliente com o usuário que irá utilizar,
executar o comando abaixo que exportará para a maquina servidor(a ser
acessada) a chave de ssh.
#> ssh-copy-id -i /~/.ssh/id_rsa.pub USUÃ***@SERVIDOR
Onde USUÃRIO e SERVIDOR são respectivamente o usuario REMOTO que
executará os comandos, e o IP do servidor remoto onde os comandos serão
executados.
A senha pedida é da do USUÃRIO no SERVIDOR e será pedida apenas essa vez.
Feito isso testar
ssh ***@SERVIDOR
Já não pedirá a senha.
Para executar um comando remoto a a partir de um script, faça assim:
ssh ***@200.200.200.200 "ls -la /home; exit"
Espero que ajude.
Post by Janduy Euclides ***@googlemail.com [shell-script]Bom dia André, tudo bem?
Mas o que precisa fazer? executar algum comando remoto ? Detalhe
melhor a sua necessidade, por favor.
Se caso for um comando remoto consegue tratar na maquina destino no
arquivo "Sudoers" liberando o acesso da origem para o serviço que
necessita.
Abs!
*Atenciosamente,
*
*Blog: Zabbix e Scripting <http://www.juquinha.blog.br/>
*
*Portifólio:Janduy Euclides | Portifolio <https://janduy.46graus.com/>
ºvº "Software Livre: não é pelo dinheiro.
/( _ )\ à uma questão de consciência."
^ ^
*
<https://br.linkedin.com/in/janduyeuclides>
Opa, pessoal.
Estou procurando uma forma de preencher os campos do SSH
automaticamente sem a interação humana. Se alguém tiver alguma
ideia de como fazer isso eu agradeço.
The authenticity of host '10.0.0.1 (10.0.0.1)' can't be established.
Are you sure you want to continue connecting (yes/no)?
Warning: Permanently added '10.0.0.1' (ECDSA) to the list of known hosts.
OBS: Infelizmente não posso instalar sistemas como sshpass nesse SO.