Je veux configurer SSH pour l'utiliser sans avoir à écrire le mot de passe. J'utilise Ubuntu 18.04 LTS sous Windows 10. J'en ai besoin pour exécuter Hadoop 3.1.1 ( https://hadoop.Apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-common/ SingleCluster.html # Standalone_Operation ) en utilisant le mode pseudo-distribué.
J'ai essayé beaucoup de solutions différentes mais sans aucun résultat. J'ai obtenu que la première fois que j'ai utilisé la commande ssh localhost, je n'ai pas besoin d'écrire la phrase secrète, mais lorsque je réécris, je dois écrire la phrase secrète.
J'explique les différentes étapes que j'ai suivies:
À ce stade, tout va bien, mais lorsque je relance ssh localhost, je dois alors écrire la phrase secrète. Ces étapes ont bien fonctionné dans Ubuntu d’AWS il ya 3 ans.
J'ai essayé au point 3 cette autre méthode: https://www.ssh.com/ssh/copy-id
Toutes les solutions possibles que j'ai trouvées sont identiques à celles que j'ai essayées au point 3 ou que je pense. J'ai essayé de modifier les autorisations de allowed_keys et .ssh, comme dans d'autres solutions, mais sans succès.
Vous devriez jeter un oeil à cette réponse qui décrit la configuration de ssh
pour votre utilisateur (édition de ~/.ssh/config
) et d'autres détails.
Les étapes sont les suivantes:
ssh
.~/.ssh/config
..pub
) au ~/.ssh/authorized_keys
De l'utilisateur distant.ssh-copy-id
.ssh
est très particulier sur les autorisations de ~/.ssh/
et les fichiers qu'il contient. ssh-copy-id
gère tout pour vous.ssh Host
ssh Host -vvv # Verbose output for troubleshooting
Essayez-vous d'utiliser ssh-agent
parce que vos clés sont protégées par un mot de passe? Je recommanderais de travailler manuellement en se connectant sans ssh-agent
et de le faire fonctionner. Une fois que votre clé fonctionne, vous pouvez résoudre tous les problèmes spécifiques de ssh-agent
.
Pour résoudre ce problème, veillez à utiliser ssh
en mode commenté et à surveiller (tail -f
) le fichier /var/log/auth.log
du serveur distant. Sur les systèmes plus récents, vous devrez peut-être utiliser journalctl
(journalctl -u sshd | tail -f
).
Une fois que la clé fonctionne, vous pouvez consulter la documentation de ssh-agent
, telle que cet ensemble d'instructions de configuration . Les étapes sont généralement les suivantes:
ssh-agent
eval ssh-agent
ssh-agent
: ssh-add ~/.ssh/private_key
Veillez à consulter les autres options de configuration ssh-agent
, telles que la durée pendant laquelle vos clés resteront déverrouillées.
En résumant un peu, votre problème est probablement l'un de ceux-ci:
ssh-agent
à partir de, et l'ajout de votre clé id_rsa
(dans le passé), mais maintenant que vous avez généré une nouvelle clé, cette clé devra également être ssh-add
'. ssh-agent
est en cours d'exécution sur votre système si vous rencontrez des problèmes après l'ajout de la clé.ps aux | ssh-agent
$HOME
pour le bon utilisateur.ssh-agent
est simplement configuré pour verrouiller votre clé dans un délai plus court que celui que vous avez testé.~/.ssh/authorized_keys
(>>
), vous avez initialement créé le fichier, avec des autorisations incorrectes. ~/.ssh/
complet et utilisez ssh-copy-id
pour saisir correctement votre utilisateur sur l'hôte distant.auth.log
de l'hôte distant et indiquerait que les autorisations de fichier sont incorrectes.ssh-copy-id
pour créer le répertoire et les fichiers, envoyez les autorisations de ~/.ssh
et vos fichiers de clés générés.ssh
dans l'hôte distant, vous perdez ssh-agent
, sauf si vous avez configuré ssh-agent
, et ssh
via ~/.ssh/config
en ForwardAgent yes
. Si vous souhaitez transférer ssh-agent
, vous devrez le configurer pour autoriser cela et comprendre les implications en termes de sécurité de cette décision. Il convient également de noter que ForwardAgent
peut être conçu pour fonctionner sur différentes machines et qu'il peut ne pas être possible de faire fonctionner le transfert localement en raison de complications avec ssh-agent
en cours d'exécution.