Frage ssh-copy-id - Berechtigung verweigert (publickey) [geschlossen]


Ich möchte ssh tunnel zu dem mysql Server einrichten, der in Computer ist, der virtuelle Maschine hat. Außerdem muss der Tunnel funktionieren, wenn die Maschine neu gestartet wird.

Also sagen wir mal A ist ein Computer mit Linux-Software. B - virtuelle Maschine in Computer A.

MySQL ist in B.

C - ist eine virtuelle Maschine in Computer A, die sich in B mit MySQL verbinden möchte.

Jetzt durch diesen Artikel: http://www.thegeekstuff.com/2008/11/3-schritte-zu-perform-ssh-login-ohne-passwort-using-ssh-keygen-ssh-copy-id/

Ich versuche, den öffentlichen Schlüssel auf den Remote-Server zu kopieren. Ich denke, ich muss es auf Computer A kopieren.

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).

Jetzt habe ich versucht, die Passphrase der Datei id_rsa.pub.bak einzugeben. Es verweigert.

Dann sehe ich, dass es den Schlüssel in /home/[user]/.ssh/id_rsa verwendet, der sich vom öffentlichen Schlüssel unterscheidet, den ich versuche zu kopieren. Ich meine natürlich, der private Schlüssel ist anders, aber ich meine, ich kopiere den öffentlichen Schlüssel eines anderen Privat Schlüssel. Also habe ich versucht, eine Passphrase dafür zu verwenden. Auch abgelehnt.

Wie kann ich debuggen, warum wird die Passphrase verweigert?

Aktualisieren

Basierend auf Kommentaren habe ich eine neue öffentliche Datei namens id_rsa.pub erstellt, in der sich jetzt alles in einer Zeile befindet

und rennen und immer noch Fehler bekommen.

ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

Aktualisieren

Überprüft die Berechtigungen für .SSH-Ordner und authorized_keys-Datei im A-Computer - sie sind 700 und 600, so wie der Kommentar sagen, sie sind gut.

Aktualisieren

Erprobt Einstellung der Passwortauthentifizierung ja auf einem Computer und um den Dienst neu zu starten. Neustart wie durch die Antwort nicht funktioniert, schrieb sshd nicht erkannt, so dass ich neu gestartet mit:

sudo /etc/init.d/ssh restart

Dann versucht es erneut auf C-Maschine, um auf eine Maschine zu kopieren.

ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v

und immer noch das Gleiche:

Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

Wenn ich gehe, um den Schlüssel manuell zu authorized_keys zu kopieren, sehe ich, dass der öffentliche Schlüssel bereits existiert, derselbe, den ich kopieren möchte. Ich fragte meinen Kollegen, er sagte, er habe es nicht kopiert. Also verstehe ich nicht einmal, wie es da sein kann.

Ok, wenn es da ist, wäre es gut, aber wenn ich dort bleibe, kann ich mich nicht mit ssh verbinden, ohne Passphrase einzugeben. Aber ich konnte mich mit der Eingabe der Passphrase verbinden. Also ist hier eindeutig noch etwas falsch. Und der Schlüssel, den ich versuche zu kopieren, ist mit leerer Passphrase. Als ich mit ssh verbunden habe - habe ich eine Passphrase eingegeben, die nicht leer war.

Derselbe öffentliche Schlüssel kann keine leere Passphrase und nicht leere Passphrase akzeptieren, was sinnvoll ist. Aber warum ist der öffentliche Schlüssel, den ich hochzuladen versuche, der gleiche wie der in der Datei authorized_keys, wenn die Passphrasen anders sind? Ich habe nicht jedes einzelne Zeichen überprüft, aber es ist unwahrscheinlich, dass die Schlüssel so ähnlich sind, dass Anfang und Ende identisch sind, selbst wenn ich anders denke.


26
2018-04-21 13:21


Ursprung


Welche Dateien beginnen mit id_rsa hast du? Ich würde erwarten ssh-copy-id mit einer Fehlermeldung, wie Sie es nennen, wie es eine Datei mit der Endung erwartet .pub. Wie deine endet mit .bak Es würde wahrscheinlich nutzen id_rsa.pub.bak.pub. - nlu
@ nlu - Ich habe id_rsa, die ich kopiert habe, indem ich die Datei mit dem Notepad ftp explorer gezogen habe. Habe auch id_rsa.bak was ich mit nano erstellt habe und Inhalte mit der Maus aus dem Editor ++ eingefügt habe aber es sah aus, dass es den gleichen Text aber irgendwie 2 Spalten gemacht hat. Und ich habe auch id_rsa.pub.bak welches auch mit nano gemacht wurde. Eigentlich hat es 3 Zeilen, aber original hat alles in einer Zeile. Weiß nicht, ist es wichtig. Aber wie wir sehen, habe ich keine Fehlermeldung über Dateinamen erhalten. - Darius.V
Es tut. Siehe hier zum Beispiel: snailbook.com/faq/publickey-userauth.auto.html ("Wenn Sie einen Texteditor verwenden, achten Sie darauf, dass die Zeilen in dieser Datei nicht unterbrochen werden."). - nlu
Die Frage ist geschlossen, weil sie denken, dass es kein System im Geschäftsumfeld ist, aber ich habe das Problem der Geschäftsumgebung gelöst. - Darius.V


Antworten:


Sie müssen sich tatsächlich anmelden, um Ihren Schlüssel zu kopieren. Sie haben keinen Zugriff auf den Remotecomputer (die Authentifizierung mit ungültigem Schlüssel und Kennwort ist deaktiviert):

Erneutes Aktivieren der Passwd-Authentifizierung in / etc / ssh / sshd_config:

PasswordAuthentication yes

Starten Sie dann den Dienst neu:

service sshd restart

Kopiere deinen öffentlichen Schlüssel:

ssh-copy-id -i ~/.ssh/id_rsa.pub USER@HOST -p PORT
[Enter user password]

Versuchen Sie sich erneut anzumelden, es sollte kein Passwort erforderlich sein.

Deaktivieren Sie dann die Kennwortauthentifizierung.


20
2018-04-21 14:43



Was passiert, wenn ich PasswordAuth auf dem Server, auf dem ich mich anmelden möchte, auf Ja setze, und ich kann mit Putty mit Passwort verbinden, aber ssh-copy-id fragt immer noch kein Passwort und schreibt Permission denied (publickey). ? - Darius.V
Hey, ich möchte Danke sagen !!! du hast meinen Tag gerettet!!! vielen Dank!!! - 尤川豪


Permission denied (publickey)ist der Remote-SSH-Server, der sagt: "Ich akzeptiere nur öffentliche Schlüssel als eine Authentifizierungsmethode, geh weg".

Das ist Ihre größte Herausforderung: Auf das Remote-System zugreifen. Sobald Sie das tun können, können Sie Ihren Schlüssel hochladen:

  • Verwenden ssh-copy-id - Sie können einen anderen Schlüssel angeben, wenn Sie beispielsweise Ihren alten Schlüssel ersetzen möchten.
  • Bearbeiten Sie die Remotebenutzer ~/.ssh/authorized_keys um den Schlüssel manuell anzuhängen.

9
2018-04-21 14:36





Endlich das Problem gefunden.

Eigentlich musste ich den öffentlichen Schlüssel nicht kopieren. Derselbe öffentliche Schlüssel gilt für beide privaten Schlüssel - mit Passphrase und ohne Passphrase.  Ich dachte, ich hätte einen privaten Schlüssel ohne Passphrase, aber eigentlich nicht. Ich hatte nur .ppk ohne Passphrase. Das war eine Fehlkommunikation. So hat der Mitarbeiter einen privaten Schlüssel ohne Passphrase gemacht und so konnte ich mich jetzt mit ssh ohne Passphrase anmelden. Ich habe gelesen, dass ohne Passwort ist schlecht, aber Kollege sagt, es ist ok. Ich brauchte ohne Passphrase, weil ich Shell-Skript beim Neustart ausführen muss - ich möchte autosh beim Neustart des Computers starten.

So eine Lösung ist diesmal - wenn Sie sich ohne Passphrase anmelden möchten, prüfen Sie, ob Ihr privater Schlüssel wirklich ohne Passphrase ist.


4
2018-04-22 07:18