|
![]() |
||
Como fornecer a senha de ssh num script ou na linha de comando? [ RESOLVIDO ]
|
||
. Nós temos 759.317 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.
![]() |
|
|
Opções do Tópico |
|
|
#1 (permalink) |
|
Novo Membro
Registrado em: Aug 2006
Mensagens: 50
Reputação: 12
![]() |
Olá
eu uso o comando ssh usuario@10.0.0.1 para me conectar a uma máquina remota. Tem como eu incluir nessa linha de comando a senha do usuário para que o ssh faça o login automaticamente sem solicitar a senha? Caso isso não seja possível, tem como eu criar um script e armazenar a senha em uma variável ou em outro lugar para que quando o ssh solicitar a senha o script forneça essa senha automaticamete? Também gostaria de saber se tem como fornecer o "yes" que o ssh pede ao gravar a chave quando eu logo pela primeira vez. Sei que é possível fazer login sem senha por enviar a chave da minha máquina para dentro da máquina onde quero logar, mas não posso utilizar este recurso. Desde já agradeço.. Última edição por calango_branco : 20-10-2008 às 17:58. |
|
|
|
|
|
#2 (permalink) |
|
Super Participante
Registrado em: May 2002
Localização: Brasília
Mensagens: 644
Reputação: 24
![]() ![]() ![]() |
Qual é a dificuldade de colocar a sua chave pública na máquina remota? Talvez nós possamos ajudar.
|
|
|
|
|
|
#3 (permalink) |
|
Novo Membro
Registrado em: Aug 2006
Mensagens: 50
Reputação: 12
![]() |
Kakao
Nenhuma dificuldade em colocar a chave. Acontece que eu tenho um script que joga algumas atualizações pra várias máquinas através de um usuário sem senha. Se eu tenho uma rede com 30 máquinas e o ip 5 foi substituido ou reinstalado, o script para pedindo a chave da máquina e enquanto essa chave não é fornecida o script não joga as atualizações para os outros terminais. Portanto eu queria incluir no script uma instrução que forncesse o "yes" pro ssh prosseguir. |
|
|
|
|
|
#4 (permalink) |
|
Super Participante
Registrado em: May 2002
Localização: Brasília
Mensagens: 644
Reputação: 24
![]() ![]() ![]() |
Tente:
Código:
|
|
|
|
|
|
#5 (permalink) |
|
Novo Membro
Registrado em: Aug 2006
Mensagens: 50
Reputação: 12
![]() |
Adicionei o parâmetro na linha de comando mas mesmo assim não deu certo.
|
|
|
|
|
|
#6 (permalink) |
|
Super Participante
Registrado em: Feb 2007
Mensagens: 754
Reputação: 14
![]() ![]() ![]() |
Cara, não sei se é exatamente o que você quer, mas dá uma olhada no expect. Com ele você tem como passar a senha (ou qualquer coisa que queria) automaticamente pro seu script....
__________________
BeerMug alcoholicjunkiecarniceiropédebolasujofedorendoposs uídopelocãocrossover! Precisa de um livecd? Use o GoblinX!! http://jucacrispim.wordpress.com |
|
|
|
|
|
#7 (permalink) |
|
General de Pijama
Registrado em: Nov 2007
Mensagens: 3.142
Reputação: 0
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Um exemplo de script no expect para conexao Telnet :
Código:
|
|
|
|
|
|
#8 (permalink) |
|
Novo Membro
Registrado em: Aug 2006
Mensagens: 50
Reputação: 12
![]() |
Galera consegui resolver o problema.
O que eu precisava era de um comando que fornecesse automaticamente ao ssh (ou scp) a senha do terminal remoto ao qual eu iria conectar e, no caso de ser a primeira conexão fornecer a confirmação (yes/no) aceitando que o ssh gravasse a chave do terminal remoto em minha máquina. Caso alguém precise do mesmo que eu faça o seguinte: 1º - Edite o arquivo /etc/ssh/ssh_config (Atenção: não é o sshd_config) e encontre a linha: # StrictHostKeyChecking ask Remova o comentário do início da linha e troque o "ask" no final por "no". Isso fará com que o SSH aceite a chave do terminal remoto sem perguntar se você quer ou não fazer isso. (por motivo de segurança o default é "ask"). Restarte o SSH. 2º - Instale o programa sshpass. Exemplos de uso: sshpass -p "casa" ssh root@10.0.0.1 Isso fará o login automático como root no ip 10.0.0.1 usando a senha "casa". sshpass -p "casa" scp -r /home/arquivos/ 10.0.0.1:/home/ Copia a pasta "arquivos" do /home da minha máquina para o /home do ip 10.0.0.1. Obrigado pela ajuda fornecida. |
|
|
|
![]() |
| Opções do Tópico | |
|
|