Wie konfiguriere ich eine SSH-Schlüssel-basierte Authentifizierung in OpenSSH, das auf Cygwin ausgeführt wird?

Wie konfiguriere ich eine SSH-Schlüssel-basierte Authentifizierung in OpenSSH, das auf Cygwin ausgeführt wird?

Ich konnte OpenSSH auf Cygwin installieren und konfigurieren und es läuft einwandfrei, allerdings mit einem Problem: Ich kann die private/öffentliche Schlüsselauthentifizierung nicht verwenden, es funktioniert einfach nicht.

Ich habe die gleichen Schritte wie unter Linux ausgeführt und meinen Schlüssel hinzugefügt, ~/.ssh/authorized_Keysaber er wird nicht erkannt.

Ich habe es auch überprüft /var/log/sshd.log, aber es ist leer und hat diese Rechte:

-rw-r--r-- 1 cyg_server    None      0 Aug 21 12:53 sshd.log

drwx------+ 1 Administrator None    0 Aug 21 12:57 .ssh

-rw-r--r--  1 Administrator None  395 Aug 21 12:57 authorized_hosts

Was vermisse ich?

Antwort1

Wenn der Dateiname tatsächlich ist ~/.ssh/authorized_Keys, müssen Sie das K im Dateinamen klein schreiben

Wenn das nicht der Fall ist, versuchen Sie es ssh -vmit dem System. Dort sollten Sie weitere Informationen erhalten.

Antwort2

Dies könnte daran liegen, dass die Umgebungsvariable HOME nicht gesetzt ist. Was ist das Ergebnis von echo $HOME? Zu welchem ​​vollständigen Pfad wird es ~/.ssh/authorized_Keystatsächlich aufgelöst?

Außerdem glaube ich, dass der Dateiname der Datei „authorized_keys“ vollständig in Kleinbuchstaben geschrieben sein sollte.

Und schließlich scheint es einige seltsame Berechtigungsprobleme mit Cygwin zu geben. Versuchen Sie, die Berechtigungen für das .ssh-Verzeichnis und seinen Inhalt auf 600 (nicht 700) zu setzen. Wenn das nicht funktioniert, habe ich einigealter Beitrag auf der Cygwin-Mailinglistewobei der Besitzer des .ssh-Verzeichnisses und aller darin enthaltenen Dateien aus irgendeinem Grund SYSTEM.SYSTEM sein musste.

Wenn das alles nicht funktioniert, überprüfen Sie Ihr Windows-Ereignisprotokoll. Ich glaube, dass Cygwins SSHD sich standardmäßig dort anmeldet und nicht in sshd.log(obwohl ich nicht weiß, warum es in diesem Fall die Protokolldatei erstellen würde).

Antwort3

Ich habe dieses Problem behoben, Windows 10 1909indem ich das Protokoll überprüft Event Viewer -> Windows Logs -> Application -> sshd(Source column)und den Besitz und die Berechtigungen der home, .ssh and authorized_keysDateien wie unten beschrieben festgelegt habe.

chown Gowtham:none ~/
chmod g-w ~/
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

verwandte Informationen