Configuração do SSH e exportação de chave

Iniciado por Pão Man, 01 de Novembro de 2012, 15:43

tópico anterior - próximo tópico

Pão Man

Galera no sistema aqui do eucalyptus necessito exportar a chave tipo:

Adicionei temporariamente uma senha no node controller:
Citar$ sudo passwd eucalyptus
Para depois copiar a chave pública:
$ sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub eucalyptus@IPNODE

Só que ele dar esse error:

CitarNow try logging into the machine, with "ssh 'eucalyptus@IP'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

O que pode ser?
#Linux-User: 535210
"O começo da sabedoria é encontrado na dúvida; duvidando começamos
a questionar, e procurando podemos achar a verdade." (Pierre Abelard)

irtigor

Isso não é uma mensagem de erro, é uma boa recomendação. Faltou informar alguma coisa? Como, sei lá, que a chave não foi adiciona?

zekkerj

Olá Pão Man,

Chaves criptográficas não têm absolutamente nada a ver com senhas.

A partir do momento em que você cria o par de chaves, ele pode ser usado como substituto da senha do usuário.

O esquema pra funcionamento é o seguinte, você copia a chave pública do par para o arquivo "~/.ssh/authorized_keys" da máquina de destino; depois, para se conectar, você informa ao SSH onde está a chave privada desse par.

O que pode acontecer é que no momento da geração dessa chave, você pode escolher entre gravar a chave privada com ou sem uma frase secreta. Se gravar sem frase secreta (menos seguro), nenhuma senha será pedida pra abrir essa chave, o que seria necessário por exemplo para usar essas chaves criptográficas em scripts de cron. Em compensação, você tem que manter em segurança o arquivo com a chave privada, pois senão qualquer um com esse arquivo poderia se logar no sistema de destino.

Do contrário, caso escolha gravar a chave privada com frase secreta, essa frase será pedida sempre que você for usar o arquivo da chave. Como você abre o arquivo pra fazer a conexão remota, vai ter que informar a senha do arquivo pra conseguir a conexão. Observe que é a senha do arquivo local com a chave privada, e não a senha do usuário remoto.

Pq eu fiz esse comentário? Pq notei que vc trocou a senha do usuário local, antes de enviar a chave. Isso foi completamente desnecessário pra solução do problema.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Pão Man

Então eu posso mandar  o comando sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub eucalyptus@IPNODE direto né?

Vou tentar aqui... O problema é que acho que tem que ter a frase mesmo, eu fiz esses procedimentos devido ao tutorial que peguei...
#Linux-User: 535210
"O começo da sabedoria é encontrado na dúvida; duvidando começamos
a questionar, e procurando podemos achar a verdade." (Pierre Abelard)

zekkerj

Sim, depois que tiver gerado a chave com o programa "ssh-keygen".
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Pão Man

Conseguir amigo deu certo. Estou agora instaciando a imagem, só não conseguir logar nela, pois esta gerando o seguinte erro:

Esse IPADDR deixa assim né? Pois ele automaticamente redirecionará ou estou enganado desculpe a ignorância?

CitarIPADDR=$(euca-describe-instances | grep $EMI-DD87105B | grep running | tail -n1 | awk '{print $4}')
grep: unknown devices method
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr

Depois eu usarei  o seguinte comando: ssh -i ~/.euca/mykey.priv ubuntu@IP
#Linux-User: 535210
"O começo da sabedoria é encontrado na dúvida; duvidando começamos
a questionar, e procurando podemos achar a verdade." (Pierre Abelard)

zekkerj

Pelo que eu entendi, esse comando identifica uma parte da saída do primeiro comando "euca-describe-instances" e extrai um endereço IP. O resultado é colocado na variável de ambiente "IPADDR".
Mas é até onde eu posso te ajudar.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D