SSH sans mot de passe

Je ne peux pas ssh sans mot de passe pour une raison quelconque sur une nouvelle boîte CentOS.

J'ai essayé de suivre ces guides:

  • http://linuxproblem.org/art_9.html
  • http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-withoutpassword-using-ssh-keygen-ssh-copy-id/

Mais ils ne fonctionnent pas non plus. J'ai même vérifié mon file /etc/ssh/sshd_config . PubkeyAuthentication yes a d'abord été commenté, donc j'ai découvert cette ligne et redémarré sshd mais toujours en vain. Une pensée de quelque chose qui pourrait manquer?

J'essaie de ssh du server A vers le server B en tant que root. Ainsi, connecté en tant que root sur une boîte, puis ssh à la suivante en tant que root sans être invité à entrer un mot de passe.

METTRE À JOUR

J'ai couru un ssh -v ... mais je ne peux pas copyr / coller ici. Tout a bien regardé jusqu'à cette ligne:

 debug1: Next authentication method: gssapi-with-mic debug1: Unspecified GSS failure. Minor Code may provide more information Unknown code krb5 195 

5 Solutions collect form web for “SSH sans mot de passe”

Un petit mode d'emploi pour l'authentification par key publique pour CentOS / Red Hat / etc …

Sur le client SSH:

 ssh-keygen # Accept all defaults, do not enter a password. ssh-copy-id USER@SERVER_IP restorecon -R ~/.ssh 

Sur le server SSH:

 # Login to the server normally (with password) restorecon -R ~/.ssh 

L'authentification par key publique devrait maintenant fonctionner.

Ces problèmes (qui sont habituellement liés aux permissions) sont beaucoup plus faciles à débaucher du côté du server. Je vous recommand de démarrer un autre sshd en mode debugging avec: /usr/sbin/sshd -d -p 2222 qui démarrera un autre sshd sur le port 2222, puis exécuter ssh -p 2222 user@sshserver du côté client. Regardez ce qui sort du sshd lorsque votre client essaie de vous authentifier.

Les problèmes d'permissions ne doivent pas être just /home/$USER/.ssh . Cela pourrait également poser problème avec / , /home ou /home/$USER . Si l'un de ceux qui sont écrits en groupe, cela peut être un problème.

Un autre problème commun est que vous collez et collez les déchetteries au milieu de votre key dans le file authorized_keys

 serverA# ls -lah /root serverA# ls -lah /root/.ssh serverA# selinuxenabled serverA# echo $? serverB# ls -lah /root serverB# ls -lah /root/.ssh serverB# senlinuxenabled serverB# echo $? 

Si cela ne vous montre pas le problème, procédez comme suit. ServerA est le client et le serverB du server ssh.

Sur serverB, éditez / etc / ssh / sshd_config. Trouvez la ligne qui ressemble à:

LogLevel INFO

Modifiez-le à:

LogLevel VERBOSE

Alors:

 serverB# /etc/init.d/sshd restart 

Sur le serverA:

 serverA# ssh -vvv root@serverb 

Vous pouvez maintenant reporter le file / var / log / secure sur serverB pour les indices.

À titre d'avis final, veuillez passer en revue:

http://www.ibm.com/developerworks/library/l-keyc/index.html

Vérifiez vos permissions, ils devraient être

drwx ——

pour votre directory .ssh et

-rw ——-

pour votre file authorized_keys .

Donc, pour définir correctement les permissions, essayez ceci:

 chmod go-w ~/ chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys 

Si vous avez SELinux activé, alors c'est un problème commun …

Exécutez ce qui suit sur le server SSH:

 restorecon -R /home/$USER/.ssh 

ou, pour la racine:

 restorecon -R /root/.ssh 

'Nuff dit …

  • ssh & tar pour transférer progressivement (comme rsync)
  • Redémarrage du réseau via SSH
  • ssh login - exécuter la command - exit
  • login SSH refusée après la mise à niveau du server Ubuntu
  • ssh knoppix v7 / ubuntu v12 live CD
  • Activer l'access Jailshell à partir de la command line
  • Ajouter un user SSH avec un privilège sudo, en utilisant un pub
  • Envoyer les commands de zonage interactif au commutateur Brocade
  • Les variables d'environnement sur la connection SSH non interactive?
  • Afficher les sauts ssh
  • Pourquoi ne puis-je pas faire un ping sur mon EC2, une instance récemment installée sur le service Web amazon?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.