login SSH avec key ne fonctionne pas

J'ai suivi un guide pour la connection sans mot de passe:

# Generate Key ssh-keygen #Append Key cat ~/.ssh/id_rsa.pub | ssh user@remotehost 'cat >> ~/.ssh/authorized_keys' #login ssh user@remotehost.com 

… J'ai ouvert authorized_keys pour s'assurer que la key a été ajoutée, mais je dois encore entrer le mot de passe pour me connecter.

J'ai même essayé de copyr avec ssh-copy-id et les keys sont ajoutées avec succès, mais il request toujours un mot de passe.

 myname-MBP:~ mynameezzy$ ssh myname@host.net "ls -la .ssh" myname@host.net's password: total 28 drwxr-xr-x 2 myname neouser 4096 Sep 14 09:58 . drwxrwxr-x 7 myname myname 4096 Sep 14 12:02 .. -rw-rw-r-- 1 myname neouser 811 Sep 15 01:38 authorized_keys -rw-rw-r-- 1 myname neouser 400 Sep 12 02:32 authorized_keys.bak -rw------- 1 myname neouser 1675 Sep 11 11:27 id_rsa -rw-r--r-- 1 myname neouser 400 Sep 11 11:27 id_rsa.pub -rw-r--r-- 1 myname neouser 1010 Sep 14 09:58 known_hosts 

Qu'est-ce que je fais mal?

Sur l' remotehost , essayez

 chmod 700 $HOME/.ssh chmod 600 $HOME/.ssh/authorized_keys 

Edit : Je trouve que la façon rapide de résoudre la plupart de ces problèmes est d'exécuter un second sshd non-détachement et d'logging sur un autre port sur le server distant et de vous connecter à cela.

Sur le server: /usr/sbin/sshd -d -p 2222

Sur le client: ssh remotehost -p 2222

Ensuite, regardez attentivement STDOUT à partir du sshd non détachable. Vous devrez peut-être ouvrir un port entrant sur le pare-feu de remotehost ; dans ce cas, 2222.

Changer l'autorisation pour votre directory .ssh

  chmod 700 $HOME/.ssh chmod 600 $HOME/.ssh/authorized_keys 

SSH est assez simple, donc, en supposant que vous n'avez effectué aucun changement de configuration, il n'y a pas beaucoup à résoudre.

Pouvez-vous utiliser votre client pour vous connecter avec SSH et key publique à n'importe quelle machine?

Vérifiez visuellement que la key publique sur la machine hôte correspond à la key publique sur le client. On dirait stupide, je le sais, mais je l'ai malmené auparavant. Je fais simplement un contrôle rapide pour que les premier et dernier ~ 20 caractères correspondent et qu'il n'y ait pas d'espaces.

Vérifiez que sur la machine hôte /etc/ssh/sshd.conf a ceci:

 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys 

Créez le groupe de directory .ssh/ et son contenu du même groupe que l'user sur les deux machines.

 chown username:username -R ~/.ssh/ 

Essayez d'ouvrir une session en demandant une utilisation key

 ssh -i .ssh/id_rsa.pub username@servername