Auf einem Server habe ich openSUSE installiert und SSH so konfiguriert, dass nur ein Benutzer und nur öffentliche Schlüssel (kein PAM, kein Passwort) von einer bestimmten IP-Adresse zulässig sind.
SSH funktioniert, X11-Weiterleitung funktioniert, SFTP funktioniert.
Jetzt brauchte ich ein sekundäres System, das in Bezug auf die Außenwelt ziemlich identisch war. Ich installierte Xubuntu, richtete SSH und Firewall ein, kopierte genau dieselbe SSH-Konfiguration und dieselben Schlüssel von openSUSE und …
SSH funktioniert, X11-Weiterleitung funktioniert, SFTPnichtarbeiten.
Ich verwende FileZilla für die Verbindung und es wird die Fehlermeldung „sftp hat unerwartetes Dateiende vom SFTP-Server erhalten“ angezeigt. Ich habe ein bisschen gegoogelt und den Rat gefunden, „/var/log/auth.log“ auf dem Server zu überprüfen, was ich getan habe, und alles ist rosig. Wenn ich versuche, eine Verbindung über SFTP herzustellen, wird nur die einzige Meldung angezeigt: „sshd[11835]: Akzeptierter öffentlicher Schlüssel für …“.
Was kann die Ursache für solche Unterschiede sein und wie kann man sie beheben?
Antwort1
Endlich gefunden. Ich habe es mit anderen Clients versucht, in der Hoffnung, dass einer davon Licht ins Dunkel bringt, und tatsächlich hat „sftp -v“ es getan. Die SSHD-Konfiguration, die ich kopiert habe, verwendete einen externen SFTP-Server (der in openSUSE vorhanden war, aber nicht in Xubuntu). Ich habe sie in einen internen Server geändert und kann jetzt auch über Xubuntu eine Verbindung herstellen.
Hier ist der Beitrag, der geholfen hat:OpenSSH: Unterschied zwischen internem SFTP und SFTP-Server
Antwort2
Haben Sie bereits einen FTP-Server installiert? Wenn nicht, installieren Sie einen FTP-Server-Daemon wie vsftp wie unten beschrieben.
sudo zypper -n in vsftpd
Konfigurieren Sie dann /etc/vsftpd.conf
die Datei. Andernfalls überprüfen Sie die Clientkonfiguration erneut und stellen Sie sicher, dass Sie das richtige Verzeichnis für den privaten und öffentlichen SSH-Schlüssel angeben.