MAC OS X Lion 10.7.3
1) No host, eu criei um arquivo authorized_keys dentro da pasta .ssh, fazendo:
touch authorized_keys
2) Eu copiei minha chave ssh pública na pasta host .ssh fazendo:
scp ~/.ssh/mykey.pub [email protected]:/home/userhost/.ssh/mykey.pub
3) Coloquei o conteúdo dentro de arquivos autorizados fazendo:
cat mykey.pub >> authorized_keys
4) Depois eu removi o arquivo mykey.pub:
rm mykey.pub
5) No meu terminal, localmente, dentro da minha pasta ~ / .ssh eu fiz:
ssh-add mykey
(note que é sem a extensão do pub);
6) Fechei e abri novamente o terminal.
Quando eu me conecto pela primeira vez a este host, ele foi adicionado ao arquivo known_hosts dentro de ~ / .ssh;
Eu tenho pico known_hosts
e o hash está lá.
Ainda assim, toda vez que eu me conecto fazendo:
ssh [email protected] solicita uma senha!
O que estou perdendo aqui?
ATUALIZAÇÃO:
Eu fiz mais duas coisas aqui:
7) Defina sua chave para ser a identidade padrão - se ela não existir, crie;
touch ~/.ssh/config
e coloque dentro da seguinte linha:
IdentityFile ~/.ssh/yourkeyname
id_rsa é normalmente sua chave padrão. Você deveria mudar para a sua chave. Isso informa que as conexões ssh de saída devem usar isso como uma identidade padrão.
8) Adicione um processo bash ao seu agente ssh:
ssh-agent bash
ssh-add ~/.ssh/yourkeyname
A resposta de Lisinge ajudou, mas não é definitiva. Se reiniciarmos nossa máquina, a senha será solicitada novamente !!!
Como podemos depurar isso? O que podemos fazer aqui? Como podemos verificar onde este processo está falhando?
UPDATE 2:
Se eu usar:
ssh -v -i <keyfile> [email protected]
Eu recebo entre outras coisas:
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011 Warning: Identity file
yourkeyname not accessible: No such file or directory.
Esta mensagem refere-se a quê? O arquivo de identificação não está acessível no host local ou não está acessível no host remoto?
Por favor, conselhos