J'essaie de vous connecter à un serveur Centos 6.3 à l'aide d'une touche SSH afin que je puisse exécuter un script à distance sans qu'il demandant un mot de passe à chaque fois. J'ai suivi les instructions suivantes: p>
SSH-keygen -t rsa code> li>
- Maintenant défini des autorisations sur votre clé privée et votre dossier SSH:
CHMOD 700 ~ / .SSH & CHMOD 600 ~ / .SSH / ID_RSA CODE> LI>
- Copiez la clé publique (id_rsa.pub) sur le serveur, connectez-vous au serveur et ajoutez la clé publique à la liste autorisée_keys:
CAT ID_RSA.PUB >> ~ / .SSH / Authorisé_keys Code> < / li>
- Une fois que vous avez importé la clé publique, vous pouvez le supprimer du serveur. Définissez les autorisations de fichier sur le serveur:
CHMOD 700 ~ / .SSH & CHMOD 600 ~ / .SSH /KIZE_KEYS CODE> LI>
- retarter le démon SSH sur le serveur:
Service sshd redémarrez CODE> LI>
- Testez la connexion à partir de votre ordinateur:
root ssh@198.61.220.107 code> li>
ol>
Mais lorsque j'essaie de ssh sur le serveur distant, il me demande toujours le mot de passe. Le dossier .sh n'a pas été créé sur le serveur, je devais donc me créer. Des idées de ce qui pourrait se passer? Ai-je manqué quelque chose? Y a-t-il une autre façon de configurer les clés? P>
4 Réponses :
Apparemment Il s'agit d'un Bug . La solution suggérée ne fonctionne pas réellement, mais j'ai constaté que cela serait sur un système Centos 6.2 au travail:
chmod 600 .ssh/authorized_keys chmod 700 .ssh
Essayé cela mais toujours pas de chance.
Eh bien, cela s'avère que j'avais changé de manière bêtement le propriétaire du répertoire / root root lorsque je configurais le serveur de manière à ce que c'est là que le répertoire
/. ssh code> était Pour l'utilisateur, j'essayais de se connecter avec (racine), il refusait l'accès à ce répertoire car il appartenait à un autre utilisateur.
chown root /root
ALTHOGH OP avait trouvé une solution, j'aimerais enregistrer ma solution de problème similaire dans l'espoir qu'il sera utile de ce que Google est un problème similaire et atteignez cette réponse. P>
La raison de mon problème est que le répertoire .SSH dans le dossier HOME de l'utilisateur sur CENTOS Server n'a pas été défini de mode approprié après avoir été créé par De plus, j'ai besoin de définir manuellement le mode dossier .SSH en suivant les commandes suivantes: p>
userAdd code>. p>
chmod g-w / home / utilisateur code> p>
chmod 700 /home/user/.ssh
p>
chmod 600 /home/user/.ssh/authorize_keys
P>
élément clé pour moi était chmod g-w / home / utilisateur code>
D'autres réponses sont génériques, noter que Centos 6 utilise SELINUX. SELINUX peut refuser l'accès au fichier autorisé_keys malgré les autorisations et la propriété correctes forte> p>
des problèmes connus de Centos 6 Notes de version : p>
Assurez-vous de configurer correctement le contexte SELINUX de la clé publique si vous le transférez sur un serveur Centos 6 avec SELINUX
activée. Sinon Selinux pourrait interdire l'accès au
~ / .SSH / dossier autorisé_keys et par la clé de la clé de la conséquence
L'authentification ne fonctionnera pas. Afin de configurer le contexte correct
Vous pouvez utiliser: p>
Restorecon -r -v /home/user/.ssh SSH-Copy-ID de Centos 6 est conscient des contextes SELINUX et la solution de contournement précédente n'est pas nécessaire. P> LI>
ul>
blockQuote>
Lorsque vous vous référez à ~, quel utilisateur parlez-vous? En outre, le redémarrage de Sshd n'est pas nécessaire pour changer les clés ...
@Guillermog commentaire Veuillez prendre en charge le formatage de vos futures questions. Il devrait être clair et facile à lire, tout simplement un mur de texte et une éteinte.
@Blaskovicz J'utilise l'utilisateur root.
Exécution
ssh code> avec
-v code> pourrait vous donner des notes de ce qui se passe.
Dupliqué potentiel de