ssh-copy-id versus manuelle Kopie id_rsa.pub

Von einem Tag auf den anderen fragte mich unser Unternehmensserver nach meinem SSH-Passwort.

Als erstes habe ich überprüft, ob sich mein Schlüssel in .ssh/authorized_keys auf dem Server befindet. Mein Schlüssel war drinnen, nichts hat sich geändert. Auch in /etc/ssh/sshd_config hat sich nichts geändert.

Dann habe ich versucht, diese Prozedur frisch durchzuführen Ubuntu16 Server installiert. Nach Abschluss dieser 5 Schritte fragte mich der neue Server erneut nach dem SSH-Kennwort.

Der Befehl ssh-copy-id hat endlich die schlüssellose SSH-Anmeldung abgeschlossen, aber ich habe festgestellt, dass .ssh/authorized_keys hat drei Zeilen: eine beginnt mit ssh-dss und 2x beginnt mit ssh-rsa

Jetzt erinnere ich mich, dass das 5-Schritte-Verfahren über den obigen Link in der Vergangenheit mit nur einem Schlüssel funktioniert hat.

Hat sich in letzter Zeit etwas geändert? Warum funktioniert die Prozedur von oben nicht mehr?

Bearbeiten: Da ssh-copy-id insgesamt 3 Schlüssel in .ssh/authorized_keys dieser Schlüssel kopiert finden Sie in folgenden Dateien:

~/.ssh/id_dsa

~/.ssh/sshkey.pub

~/.ssh/id_rsa.pub

also habe ich Zeile für Zeile aus der .ssh/authorized_keys -Datei

gelöschte ~/.ssh/id_dsa Zeile – automatische Anmeldung erfolgreich

gelöschte ~/.ssh/id_rsa.pub Zeile – automatische Anmeldung erfolgreich

gelöschte ~/.ssh/sshkey.pub Zeile – automatische Anmeldung nicht erfolgreich – nach Passwort gefragt

Es ist nur Inhalt von ~/.ssh/sshkey.pub erforderlich. Warum SSH sshkey.pub vergleicht und nicht id_rsa.pub wie im Beispiel aus dem Online-Tutorial?

Kommentare

  • Sicherlich nicht wegen grundlegender Änderungen an der Datei authorized_keys oder ich würde Ich bin eines Tages aufgewacht und habe mich von einer ganzen Reihe von Maschinen ausgeschlossen.
  • Welche Art von Schlüssel und wie viele Teile? Der Server, mit dem Sie ' Probleme haben, hat möglicherweise höhere Standards, möglicherweise aufgrund eines Upgrades von sshd. 1024-Bit-RSA wurde früher als akzeptabel angesehen. Heutzutage sind 2048 oder 4096 Bit erforderlich.
  • Fügen Sie Ihrer Frage auch die Ausgabe von ssh -v your-remote-server hinzu.
  • Haben Sie noch die 640 Flags auf autorisierten Schlüsseln oder etwas restriktiveres (600)?

Antwort

Es scheint, dass ssh-copy-id ist lediglich eine Komfortfunktion. Es prüft, ob die Schlüssel bereits auf den Computer exportiert wurden, erstellt bei Bedarf das Verzeichnis .ssh, fügt jedoch im Grunde nur öffentliche Schlüssel zu .ssh/authorized_keys hinzu . ssh-copy-id ist ein Shell-Skript (in openssh), sodass Sie den Code (vi `which ssh-copy-id`) am Ende lesen können:

[ "$DRY_RUN" ] || printf "%s\n" "$NEW_IDS" | \ ssh "$@" "exec sh -c "cd ; umask 077 ; mkdir -p .ssh && { [ -z ""`tail -1c .ssh/authorized_keys 2>/dev/null`"" ] || echo >> .ssh/authorized_keys ; } && cat >> .ssh/authorized_keys || exit 1 ; if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi"" \ || exit 1 

Während der Authentifizierung werden nur authorized_keys überprüft. Aus der Dokumentation von openssh :

Die Datei ~ / .ssh / autorisierte_keys listet die Öffentlichkeit auf Schlüssel, die für die Anmeldung zulässig sind. Wenn sich der Benutzer anmeldet, teilt das Programm ssh dem Server mit, welches Schlüsselpaar er für die Authentifizierung verwenden möchte. Der Client beweist, dass er Zugriff auf den privaten Schlüssel hat, und der Server überprüft, ob der entsprechende öffentliche Schlüssel berechtigt ist, das Konto zu akzeptieren.

Ich hoffe, dass dies beantwortet wird Ihr Fragentitel „ssh-copy-id versus manuelle Kopie id_rsa.pub“. Diese Datei ~/.ssh/sshkey.pub habe ich nicht, also hoffe ich, dass Sie die Probleme mit Ihrem Setup selbst gelöst haben. Wie auch immer, ja, Sie können den öffentlichen Schlüssel einfach manuell nach verwendet ssh-copy-id nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.