Mac OS X Lion 10.7.3
1) No host, criei um arquivo allowed_keys dentro da pasta .ssh, fazendo:
touch authorized_keys
2) Copiei minha chave pública ssh na pasta host .ssh fazendo:
scp ~/.ssh/mykey.pub userhost@host.com:/home/userhost/.ssh/mykey.pub
3) Coloquei seu conteúdo em arquivos autorizados, fazendo:
cat mykey.pub >> authorized_keys
4) Em seguida, removi o arquivo mykey.pub:
rm mykey.pub
5) No meu terminal, localmente, dentro da minha pasta ~ / .ssh, criei:
ssh-add mykey
(observe que está sem a extensão do pub);
6) Fechei e abri novamente o terminal.
Quando eu me conecto a este host, ele é 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 userhost@sharedhost.com, ele solicita uma senha!
O que estou perdendo aqui ?
ATUALIZAR:
Eu já fiz mais duas coisas aqui:
7) Defina sua chave como 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ê deve mudar para a sua chave. Isso indica que as conexões ssh de saída devem usar isso como uma identidade padrão.
8) Adicione um processo bash ao seu ssh-agent:
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 esse processo está falhando?
ATUALIZAÇÃO 2:
Se eu usar:
ssh -v -i <keyfile> userhostname@hostname.com
Eu entendo entre outras coisas:
OpenSSH_5.6p1, OpenSSL 0.9.8r 8 de fevereiro de 2011 Aviso: Arquivo de identidade yourkeyname não acessível: Esse arquivo ou diretório não existe.
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?
Conselho por favor