Je veux configurer le tunnel ssh sur le serveur mysql qui est dans un ordinateur qui a une machine virtuelle. Le tunnel doit également fonctionner si la machine est redémarrée.
Disons donc que A est un ordinateur avec un logiciel Linux. B - machine virtuelle dans l'ordinateur A.
MySQL est en B.
C - est une machine virtuelle dans l'ordinateur A qui veut se connecter à MySQL en B.
Maintenant par cet article: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
J'essaie de copier la clé publique sur le serveur distant. Je suppose que je dois le copier sur l'ordinateur A.
ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Maintenant, j'ai essayé de saisir la phrase secrète du fichier id_rsa.pub.bak. Il a nié.
Ensuite, je vois qu'il utilise la clé dans /home/}user Clé privée. J'ai donc essayé d'en utiliser la phrase secrète. Également nié.
Comment pourrais-je déboguer pourquoi la phrase secrète est refusée?
Mise à jour
Sur la base des commentaires, j'ai créé un nouveau fichier public appelé id_rsa.pub où tout est maintenant sur une seule ligne
et exécutez et obtenez toujours une erreur.
ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Mise à jour
Vérifié les autorisations sur le dossier .ssh et le fichier authorized_keys sur l'ordinateur A - ils sont 700 et 600, alors le commentaire dit qu'ils sont bons.
Mise à jour
J'ai essayé de définir l'authentification par mot de passe oui sur un ordinateur et de redémarrer le service. Le redémarrage comme par la réponse n'a pas fonctionné, il a écrit sshd non reconnu, j'ai donc redémarré en utilisant:
sudo /etc/init.d/ssh restart
Puis réessayé sur la machine C pour copier sur une machine A.
ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v
et toujours pareil:
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Si je vais copier la clé manuellement sur authorized_keys, je vois que la clé publique est déjà existante, la même que je veux copier. J'ai demandé à mon collègue, il a dit qu'il ne l'avait pas copié. Je ne comprends donc même pas comment cela peut être là.
Ok, si c'est là ce serait bien, mais en restant là ça ne me permet pas de me connecter avec ssh sans saisir de mot de passe. Mais j'ai pu me connecter en saisissant la phrase secrète. Il y a donc clairement quelque chose qui ne va pas ici. Et la clé que j'essaie de copier est avec une phrase de passe vide. Lorsque je me suis connecté avec ssh - j'ai saisi une phrase secrète qui n'était pas vide.
La même clé publique ne peut pas accepter une phrase de passe vide et une phrase de passe non vide, ce qui est logique. Mais alors pourquoi la clé publique que j'essaie de télécharger est la même que celle du fichier authorized_keys si les phrases secrètes sont différentes? Je n'ai pas vérifié chaque caractère, mais il est peu probable que les touches soient si similaires que le début et la fin soient les mêmes, même si la phrase secrète est différente, je pense.
id_rsa
avez-vous? Je m'attendraisssh-copy-id
à échouer avec un message d'erreur comme vous l'appelez, car il attend un fichier se terminant par.pub
. Comme le vôtre se termine,.bak
il serait probablement utileid_rsa.pub.bak.pub
.Réponses:
Vous devez vous connecter pour copier votre clé, vous n'avez aucun accès à la machine distante (authentification par clé et mot de passe invalide désactivée):
Réactivez l'authentification passwd dans / etc / ssh / sshd_config:
Redémarrez ensuite le service:
Copiez votre clé publique:
Essayez de vous reconnecter, aucun mot de passe ne devrait être requis.
Désactivez ensuite l'authentification par mot de passe.
la source
Permission denied (publickey)
est le serveur SSH distant disant "J'accepte uniquement les clés publiques comme méthode d'authentification, partez".C'est votre principal défi: accéder au système distant. Une fois que vous pouvez le faire, vous pouvez télécharger votre clé:
ssh-copy-id
- cela vous permettra de spécifier une clé différente si vous êtes en train de remplacer votre ancienne, par exemple.~/.ssh/authorized_keys
pour ajouter votre clé manuellement.la source
J'ai finalement trouvé le problème.
En fait, je n'avais pas besoin de copier la clé publique. La même clé publique est pour les deux clés privées - avec phrase de passe et sans phrase de passe. Je pensais avoir une clé privée sans mot de passe, mais en fait je ne l'ai pas fait. Je n'avais que .ppk sans phrase secrète. Ce fut miss communication. Donc, mon collègue a créé une clé privée sans phrase de passe et maintenant je pouvais me connecter en utilisant ssh sans phrase de passe. J'ai lu qu'avoir sans mot de passe est mauvais, mais un collègue dit que ça va. J'avais besoin sans mot de passe car j'ai besoin d'exécuter le script shell au redémarrage - je veux démarrer l'autossh au redémarrage de l'ordinateur.
Cette sorte de solution est cette fois-ci - si vous voulez vous connecter sans mot de passe - vérifiez si votre clé privée est vraiment sans phrase de passe.
la source