Mit OpenSSH für Windows versuche ich, ein SFTP mit dem öffentlichen Schlüssel einzurichten.
Mein Fehlerprotokoll zeigt Folgendes:
12080 2020-03-20 11:51:02.136 debug3: Failed to open file:C:/Windows/.ssh/authorized_keys error:2
12080 2020-03-20 11:51:02.136 debug1: Could not open authorized keys 'C:\\Windows\\.ssh/authorized_keys': No such file or directory
In der sshd_config haben wir einen Benutzer wie folgt konfiguriert:
Match User testuser
ChrootDirectory E:\Integration\SFTP\TestUser
PasswordAuthentication no
PubkeyAuthentication yes
Sollte die Software für die Schlüsseldateien also nicht nach E:\Integration\SFTP\TestUser\.ssh\authorized_keys suchen?
Dann habe ich als Test den authorized_key des Benutzers in das Verzeichnis c:\Windows..sh kopiert und bekam diesen Fehler:
debug1: trying public key file C:\\Users\\testuser\\.ssh/authorized_keys
debug3: Failed to open file:C:/Users/testuser/.ssh/authorized_keys error:2
debug1: Could not open authorized keys 'C:\\Users\\testuser\\.ssh/authorized_keys': No such file or directory
Als ich den Schlüssel in das obige Verzeichnis eingab, funktionierte es. Also funktioniert ChrootDirectory nur für die Quelle der gesendeten und empfangenen Dateien, nicht für die .ssh-Dateien? Ich werde als nächstes versuchen, es aus C:\Windows zu entfernen...
Ich habe die Datei C:\Windows.ssh\authorized_keys entfernt und sie funktioniert immer noch. Wenn der Benutzer nicht gefunden wird, wird er vielleicht in das Verzeichnis C:\Windows als Sicherungsquelle verschoben?
Antwort1
Ich hatte eine Situation mit dem Fehler „C:\Windows\.ssh/authorized_keys‘: Keine solche Datei oder kein solches Verzeichnis“, als ich Benutzerordner manuell erstellte, anstatt mich mit dem tatsächlichen Benutzerkonto anzumelden.
Meine Situation wurde wie folgt behoben:
- Umbenennen/Löschen manuell erstellter Benutzerordner
- Anmeldung mit dem aktuellen Benutzerkonto
- Erstellen/Kopieren des .ssh-Ordners und der authorized_keys-Datei
- Überprüfen der Zugriffsrechte des .ssh-Ordners und der authorized_keys-Datei