Ein Benutzer kann SSHFS verwenden, ein anderer Benutzer erhält die Meldung "Remote-Host hat die Verbindung getrennt".

7

Ich habe zwei Benutzer mit gültigen SSH-Konten auf einem Server. Beide Benutzer können sich erfolgreich über ssh anmelden.

Beim Versuch, SSHFS zu mounten, kann usera ohne Probleme mounten, während userb den Fehler erhält:

remote host has disconnected

nach Eingabe eines gültigen Passwortes.

Im auth.log erhalten wir:

Apr 25 19:12:49 Ophelia sshd[26211]: Accepted password for userb from [ip address] port 44609 ssh2
Apr 25 19:12:49 Ophelia sshd[26211]: pam_unix(sshd:session): session opened for user userb by (uid=0)
Apr 25 19:12:49 Ophelia sshd[26240]: subsystem request for sftp
Apr 25 19:12:49 Ophelia sshd[26240]: Received disconnect from [ip address]: 11: disconnected by user
Apr 25 19:12:49 Ophelia sshd[26211]: pam_unix(sshd:session): session closed for user userb

Ich habe gelesen, dass remote host has disconnecteddies durch einen ungültigen SFTP-Server in verursacht werden kann /etc/ssh/sshd_config, aber der Pfad ist festgelegt, /usr/lib/openssh/sftp-serverder gültig erscheint, und Benutzer können SSHFS problemlos verwenden.

Der Server und der Client sind Ubuntu 10.04.

Irgendwelche Vorschläge?

Nick
quelle

Antworten:

11

Aus den OpenSSH-FAQ (via knoppixforum.de , englische Übersetzung hier ):

sftp und / oder scp können zur Verbindungszeit fehlschlagen, wenn Sie über eine Shell-Initialisierung (.profile, .bashrc, .cshrc usw.) verfügen, die eine Ausgabe für nicht interaktive Sitzungen erzeugt. Diese Ausgabe verwirrt den SFTP / SCP-Client. Sie können überprüfen, ob Ihre Shell dies tut, indem Sie Folgendes ausführen:

ssh yourhost /usr/bin/true

Wenn der obige Befehl eine Ausgabe erzeugt, müssen Sie Ihre Shell-Initialisierung ändern.

Versuchen Sie es auch ssh user@host /bin/true.

ofer livny
quelle
@Indrek Wie würde ich die Shell-Initialisierung ändern? Und ändere ich es auf dem Remote-Host oder lokal?
Don Rhummy
Auf die Möglichkeit von Shell Init hinweisen. Probleme waren genau das, was ich brauchte, um dieses Problem zu beheben (es stellte sich heraus, dass ich versehentlich das letzte in meinen .bash_aliases entfernt hatte). Vielen Dank!
Kupfer.hat
Wenn beim Ausführen eines einfachen SSH etwas wie "LC_ALL: Gebietsschema kann nicht geändert werden" angezeigt wird, führen Sie es zuvor export LC_ALL=""auf dem lokalen Computer aus sshfs. Stellen Sie außerdem sicher, dass in / etc / ssh / sshd_config auf dem Remote-Host kein Banner definiert ist (und starten Sie die Remote neu, sshdfalls vorhanden).
Mat
4

Ich habe es zum Laufen gebracht ... Die Berechtigungen für den Home-Ordner des Benutzers wurden falsch eingestellt. Anscheinend verhindert dies nicht die Anmeldung von ssh, sondern bricht sshfs.

Nick
quelle
23
Welche Änderungen mussten Sie an den Berechtigungen vornehmen?
SMTF
1
Was waren Ihre Berechtigungen vor und nach dem Ausführen?
Dranxo
0

Stellen Sie sicher, dass Sie den Hostschlüssel aus dem Benutzernamen / .ssh / unknown_hosts entfernen, bevor Sie eine Verbindung herstellen. Ich hatte ein Problem mit sshfs und sysrescuecd (jeder Boot bekommt neue Schlüssel usw.).

vahem2lu
quelle