La connexion à distance à un serveur Centos à l'aide de Clés SSH
Je suis en train d'essayer de se connecter à un Centos 6.3 Serveur à l'aide d'une Clé SSH pour que je puisse exécuter un script à distance sans demander de mot de passe à chaque fois. J'ai suivi les instructions suivantes:
- Connectez-vous au serveur à l'aide de la normale, la commande ssh et le mot de passe une seule fois afin que le serveur ajoute à votre ordinateur pour les hôtes connus
- Dans votre ordinateur en utilisant cygwin-terminal de générer les clés et de laisser la passphrase vide:
ssh-keygen -t rsa
- Maintenant définir des autorisations sur votre clé privée ssh et dossier:
chmod 700 ~/.ssh & chmod 600 ~/.ssh/id_rsa
- Copie de la clé publique (id_rsa.pub) sur le serveur, connectez-vous au serveur et ajouter la clé publique à l'authorized_keys liste:
cat id_rsa.pub >> ~/.ssh/authorized_keys
- Une fois que vous avez importé la clé publique, vous pouvez le supprimer à partir du serveur. Définir les permissions de fichiers sur le serveur:
chmod 700 ~/.ssh & chmod 600 ~/.ssh/authorized_keys
- Retart le démon ssh sur le serveur:
service sshd restart
- Test de la connexion à partir de votre ordinateur:
ssh [email protected]
Mais quand j'essaie de faire du ssh vers le serveur distant, il est toujours à me demander le mot de passe. L' .ssh dossier n'a pas été créé sur le serveur donc j'ai créé moi-même. Toutes les idées de ce qui se passe? ai-je raté quelque chose? Est-il une autre façon de configurer les touches?
- lorsque vous vous référez à ~, ce que l'utilisateur parlez-vous? Aussi, le fait de redémarrer sshd n'est pas nécessaire de modifier les clés...
- veuillez prendre soin de mise en forme dans vos futures questions. Il doit être clair et facile à lire, sinon c'est juste un mur de texte et d'un turn off.
- Je suis l'aide de la racine de l'utilisateur.
- l'exécution de
ssh
avec-v
peut vous donner quelques indications de ce qui se passe. - doublon potentiel de serverfault.com/questions/55343/...
Vous devez vous connecter pour publier un commentaire.
Apparemment c'est connu bug. La solution proposée ne fonctionne pas réellement, mais j'ai trouvé que ce serait sur un CentOS 6.2 système au travail:
Eh bien, il s'avère que j'avais bêtement changé le propriétaire de la
/root
répertoire quand j'étais la configuration du serveur, donc, puisque c'est là que le/.ssh
répertoire de l'utilisateur j'ai essayé de loggin avec (racine), il a été le refus d'accès à ce répertoire, car il appartenait à un autre utilisateur.J'ai changé le propriétaire de l'arrière à la racine et qu'il a fait.
Merci les gars pour vous aider.
Althogh OP avait trouvé une solution, je tiens à exprimer ma solution du problème similaire dans l'espoir qu'il sera utile à ceux qui google similaires problème et d'atteindre cette réponse.
La raison de ma question est que l' .ssh répertoire dans le dossier accueil de l'utilisateur sur CentOS serveur n'était pas un bon mode après avoir été créé par
useradd
commande.En plus, j'ai besoin de régler manuellement .ssh en mode dossier par les commandes suivantes:
chmod g-w /home/user
chmod 700 /home/user/.ssh
chmod 600 /home/user/.ssh/authorized_keys
chmod g-w /home/user
D'autres réponses sont génériques, notez que Centos 6 utilise selinux. selinux peut refuser l'accès à la authorised_keys fichier en dépit de corriger les autorisations et la propriété
De problèmes connus dans Centos 6 Notes De Version: