emeriks
Goto Top

OpenSSH Server auf Windows und FileZilla Client via SFTP

Hi,
ich probiere gerade ein Bisschen mit openSSH unter Windows Server 2016. Habe dafür das aktuelle Paket von GitHub geladen und installiert. Der Server-Dienst läuft, Firewall ist entsprechend angepasst. Alles OK.

Jetzt versuche ich, mich da anzumelden.
Also
  • lokales Benutzerkonto angelegt: userABC
  • sshd_config bearbeitet und Zeile hinzugefügt:
AllowUsers userABC
  • die beiden OpenSSH-Dienste durchgestartet
  • von einem anderen Client aus versucht, auf diesen Server zuzugreifen, mittels FileZilla

FileZilla meldet:
Status: Verbinde mit 172.x.y.z...
Antwort: fzSftp started, protocol_version=8
Befehl: open "userABC@172.x.y.z" 22
Befehl: Neuem Serverschlüssel vertrauen: Einmal
Befehl: Pass: ...............
Fehler: Network error: Software caused connection abort
Fehler: Herstellen der Verbindung zum Server fehlgeschlagen

Der Server meldet im Eventlog (in dieser Reihenfolge):
sshd: Server listening on 0.0.0.0 port 22.
sshd: Connection from 172.a.b.c port 50099 on 172.x.y.z port 22
sshd: Accepted password for userABC from 172.a.b.c port 50099 ssh2
sshd: User child is on pid 2268

So, nun will ich feststellen, ob es am Client oder am Server liegt.
Am Server sehe ich nichts verdächtiges.
Am Client das Debug-Logging aktiviert.

Status: Verbinde mit 172.x.y.z...
Trace: CControlSocket::SendNextCommand()
Trace: CSftpDeleteOpData::Send() in state 0
Trace: Going to execute C:\Program Files\FileZilla FTP Client\fzsftp.exe
Antwort: fzSftp started, protocol_version=8
Trace: CSftpDeleteOpData::ParseResponse() in state 0
Trace: CControlSocket::SendNextCommand()
Trace: CSftpDeleteOpData::Send() in state 3
Befehl: open "userABC@172.x.y.z" 22
Trace: Connecting to 172.x.y.z port 22
Trace: We claim version: SSH-2.0-FileZilla_3.44.2
Trace: Server version: SSH-2.0-OpenSSH_for_Windows_8.0
Trace: Using SSH protocol version 2
Trace: Doing ECDH key exchange with curve Curve25519 and hash SHA-256
Trace: Server also has ecdsa-sha2-nistp256/ssh-rsa host keys, but we don't know any of them
Trace: Host key fingerprint is:
Trace: ssh-ed25519 256 1c:ff:2d:18:a9:b0:a0:08:b6:ea:c8:25:10:97:72:2a P0H1liw4BUZZTKKo+oKp/GDQEgTL3czkkP8MxLX/1pk=
Trace: CSftpControlSocket::SetAsyncRequestReply
Befehl: Neuem Serverschlüssel vertrauen: Einmal
Trace: Initialised AES-256 GCM client->server encryption
Trace: Initialised AES256 GCM client->server MAC algorithm (in ETM mode) (required by cipher)
Trace: Initialised AES-256 GCM server->client encryption
Trace: Initialised AES256 GCM server->client MAC algorithm (in ETM mode) (required by cipher)
Trace: Attempting keyboard-interactive authentication
Trace: Server refused keyboard-interactive authentication
Befehl: Pass: ...............
Trace: Sent password
Trace: Access granted
Trace: Opening session as main channel
Trace: Network error: Software caused connection abort
Fehler: Network error: Software caused connection abort
Trace: CSftpControlSocket::OnTerminate without error
Trace: CControlSocket::DoClose(66)
Trace: CControlSocket::ResetOperation(66)
Trace: CSftpDeleteOpData::Reset(66) in state 3
Fehler: Herstellen der Verbindung zum Server fehlgeschlagen
Trace: CFileZillaEnginePrivate::ResetOperation(66)

Jetzt bin ich genauso schlau wie vorher.

Hat jemand ne Idee?

Alternativ:
Ich will eigendlich nur "irgendeinen" SFTP-Server aufsetzen, welcher mir erlaubt, die Benutzer sauber zu trennen. Also jeder Benutzer seinen eigenen Ordner-Bereich.
FileZilla Server kann kein SFTP
SolarWinds SFTP Server ist schön einfach zu installieren und konfigurieren, kann aber nur eine Ordnerstruktur für alle Benutzer. Keine Trennung.

Will/kann mir jemand noch eine andere Alternative vorschlagen, welche unter Windows Server läuft und nach Möglichkeit Open Source ist?

E.

Edit:
Gleiches Verhalten, wenn ich am Client WinSCP verwende.
Client verbindet, Server meldet noch, dass das Passwort akzeptiert wird, und dann meldet der Client, dass die Verbindung fehlgeschlagen wäre.
Also wird es wohl doch am Server liegen.

Content-Key: 493756

Url: https://administrator.de/contentid/493756

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: aqui
aqui 11.09.2019 aktualisiert um 16:40:04 Uhr
Goto Top
Hast du statt Filezilla testweise mal WinSCP genommen ?: https://winscp.net/eng/docs/lang:de
Dort kannst du explizit SCP als Copy Protokoll wählen. Ich bin nicht sicher aber SCP und SFTP ist nicht 100% das gleiche.
Ein Test mit WinSCP im SCP Mode ist das aber wert um sicherzugehen, denn damit sollte es sicher klappen. (Die anderen Modi kann WinSCP auch)
Mitglied: emeriks
emeriks 11.09.2019 um 16:46:14 Uhr
Goto Top
Zitat von @aqui:
Hast du statt Filezilla testweise mal WinSCP genommen ?: https://winscp.net/eng/docs/lang:de
Ja, habe ich bereits im Edit geschrieben. Verbindung über SFTP.

Ein Test mit WinSCP im SCP Mode
SCP Mode?
Du meinst, als Protokoll "SCP" auswählen, oder was? SCP-Protokoll habe ich bereits versucht. Gleiches Bild.
Mitglied: emeriks
emeriks 11.09.2019 um 16:49:03 Uhr
Goto Top
Die Windows Firewall des Servers habe ich jetzt auch ausgeschlossen. Habe das Teil komplett deaktiviert.
Client und Server sind im selben Subnetz, keine andere Firewall dazwischen.
Mitglied: emeriks
emeriks 11.09.2019 aktualisiert um 17:05:48 Uhr
Goto Top
Hmm, ja nee is klar ....
Es liegt am konfigurierten Pfad für diesen Benutzer im sshd_config.
Ohne Vorgabe wird die Verbindung hergestellt. Die Benutzer-Root ist dann dessen Profilverzeichnis unter C:\Users .... (??!)
Das will ich aber nicht.
Mitglied: Penny.Cilin
Penny.Cilin 11.09.2019 um 17:00:10 Uhr
Goto Top
Hallo @emeriks

muss es eine kostenlose Software sein? ich kann Dir Bitvise SSH Server empfehlen.
Kostet zwar, hat dafür aber eine saubere Trennung für jeden Benutzer.

Gruss Penny.
Mitglied: emeriks
emeriks 11.09.2019 um 17:05:17 Uhr
Goto Top
Hallo Penny,
ich habe es inzwischen hinbekommen. Es war nur ein Schreibfehler in der sshd_config.
Komisch aber, dass das nicht im Eventlog erscheint. Obwohl ich schon auf VERBOSE gestellt habe.

E.
Mitglied: aqui
aqui 11.09.2019 um 17:14:13 Uhr
Goto Top
Das Wiki hat noch ein paar Punkte. Hast du aber sicher schon gesehen ?!
https://github.com/PowerShell/Win32-OpenSSH/wiki
Als Admin im Installationsverzeichnis c:\windows\system32\openssh den Befehl ssh-keygen -A hast du ausgeführt ? Anschließend muss man „NT Service\sshd“ als Eigentümer setzen für die erzeugten Key-Dateien und die Konfigurationsdatei sshd_config für den Server-Dienst und nur ihm Lesezugriffe erlauben.
Mitglied: emeriks
emeriks 11.09.2019 um 17:23:17 Uhr
Goto Top
Ja, habe ich. Alles gut. Danke.