• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Problem mit sftp zwischen zwei eigenen PCs

Chris K.

Member
Hallo,
ich möchte gerne von meinem Notebook auf Dateien auf meinem PC zugreifen (alles im heimischen WLAN Netzwerk).
Kann mich erinnern, dass das früher auch schon mal ganz einfach über sftp geklappt hat.
ssh ist auf beiden Rechnern installiert und Port 22 geöffnet. Ich kann mich auch über "ssh nutzer@host" auf dem jeweils anderen Rechner anmelden (musste beim ersten Mal einen fingerprint oder so akzeptieren). Wenn ich aber sftp://nutzer@host in Dolphin oder dem Konqueror eingebe, erhalte ich folgende Fehlermeldung:

Der Host-Schlüssel für diesen Rechner kann nicht gefunden werden, es existiert aber ein anderer Schlüsseltyp. Möglicherweise versucht ein Angreifer, den Server-Schlüssel zu tauschen um Ihrem Client vorzutäuschen, dass der Schlüssel nicht existiert. Sie sollten den Systemverwalter darüber informieren.

Ich kann mich nicht erinnern, dass ich solche Probleme schon mal hatte. Weiß jemand Rat?
 

spoensche

Moderator
Teammitglied
Es sieht so aus, als wolle der Konqueror Host Based Authentication verwenden, was als unsicher gilt und nicht verwendet werden sollte. Mit dem anderen Schlüsseltyp ist der Public Key des Servers gemeint.

Als Alternative kannst du z.B. Filezilla verwenden.
 

/dev/null

Moderator
Teammitglied
Hi,

gib mal im Dateimanager "fish://host" ein. Ist im Prinzip ein "grafisches scp". Will er dann das PW für deinen Schlüssel?

MfG Peter
 
OP
Chris K.

Chris K.

Member
Hi, danke für die Unterstützung.

gib mal im Dateimanager "fish://host" ein.
Cool, er fragt nach Nutzername und Passwort und ich lande tatsächlich in meinem Home Ordner auf dem anderen Computer! :D

Ich hatte vergessen zu erwähnen, dass ich ganz gerne auch einen Ordner zwischen den beiden Computern mit dem Programm "unison" - auch über ssh - synchronisieren würde. Das klappt aber leider auch nicht; er bleibt im Fenster "Contacting server..." stehen (ich hab dann nach ein paar Minuten auf abbrechen geklickt). Leider liefert das Programm keinerlei Fehlermeldung; auch nicht, wenn ich es über die Konsole starte.
 

/dev/null

Moderator
Teammitglied
OK, freut mich, dass es mit fish:// funktioniert.

Du kannst doch auf der Konsole eine ganz normale ssh-Verbindung zw. den Clients aufbauen, oder?
Stimmst einmal dem öffentl. Schlüssel des Servers zu, und die Verbindung steht. Und wenn wir "drüben" sind, geht es auch per ssh genau so wieder zurück zum Ausgangspunkt?
Wenn das der Fall ist, dann ist auf beiden Seiten der Port 22 geöffnet, wird gegenseitig dem öffentl. ssh-Serverschlüssel vertraut, ist beidseitig der öffentl. Benutzerschlüssel in ~/.ssh/authorized_keys hinterlegt und du übergibst auch dem privaten Schlüssel beidseits das richtige Passwort.
=> damit hast du hinsichtlich ssh alles richtig gemacht. (ohne jetzt auf die Härtung des sshd einzugehen)

Wird der Name des zu erreichenden Rechners denn überhaupt richtig aufgelöst? Hast du es bei unison auch mal mit der IP versucht?
 
OP
Chris K.

Chris K.

Member
Jap, ssh funktioniert wie du geschrieben hast. (ohne jetzt auf die Härtung des sshd einzugehen) ;-)

Allerdings finde ich in ~/.ssh jeweils nur ein Datei "known_host" - nicht "authorized_keys". Ist das gleichwertig?

Die Rechnernamen werden ziemlich sicher alle richtig aufgelöst, habe ich extra jeweils in Yast über das Modul "Rechnernamen" eingetragen.
Es handelt sich um 192.168.178.3 chrisbook und 192.168.178.4 kellercomp alias keller
In der Konsole ist eine ssh-Verbindung möglich egal welche Bezeichnung ich eingebe. In unison habe ich von Anfang die IPs benutzt.


Ich habe sogar das sshd-Modul für yast installiert. Und alles so "offen" wie möglich eingestellt (nur Anmeldung als Root erlauben hab ich nicht angekreuzt - brauch ich ja nicht):
[x] TCP-Weiterleitung erlauben
[x] X11-Weiterleigung erlauben
[x] Komprimierung erlauben

[x] Firewall-Port öffnen
[x] RSAAuthentication (war zuerst nicht angekreuzt, hat aber kein Änderung gebracht)
[x] Public Key Authentication

Unterstützte SSH-Protokoll-Versionen: (x) 2 und 1
 
OP
Chris K.

Chris K.

Member
Ach ja: Kann es zufällig sein, dass das Problem durch Installieren eines zusätzlichen Pakets gelöst werden kann?
Ich frage deshalb, weil auf beiden Computern suse 11.4 von einer in susestudio (mit ziemlich minimalem KDE) selbst gebauten Live-CD installiert wurde. Und ich eben meine, dass das Ganze früher schon einmal wesentlich einfacher funktioniert hat (als noch 11.3 oder so von der gewöhnlichen Installations-DVD drauf war).
 

/dev/null

Moderator
Teammitglied
Das mit der grafischen Oberfläche für ssh kannst/solltest du vergessen. Brauchst du wirklich nicht!
Hinsichtlich einer "vernünftigen" Konfigurationsdatei für ssh gibt es hier im Forum/Wiki viele Anleitungen, und wir können uns dazu auch noch einmal austauschen. Kannst sie ja mal posten.

Ich gehe mal davon aus, dass du die ssh-Anmeldung mit Benutzername+Passwort verboten hast und ausschließlich Public Key Authentication nutzt. Hast also den Nutzern auf beiden Rechnern ein asymmetrisches Schlüsselpaar generiert.
Die erwähnte ~/.ssh/authorized_keys ist eine sehr wichtige Datei! In ihr werden die öffentlichen Schlüssel derjenigen gespeichert, die per ssh Zugriff auf diesen Rechner erhalten. Nur dann wird diese Verbindung zugelassen. Du solltest für Selbsttest die öffentl. Schlüssel beider Systeme dort eintragen => auf beiden Rechnern somit die gleiche Datei.

Also:
- wenn noch nicht geschehen, mit "ssh-keygen" auf beiden Rechnern ein Schlüsselpaar erzeugen
- (Empfehlung: den erzeugten .pub editieren und am Ende der Zeile "user@rechner datum" anhängen, wegen der Übersichtlichkeit)
- mit "cat *.pub >> ~/.ssh/authorized_keys diese öffentlichen Schlüssel in diese Datei schieben. Sieht dann in etwa so aus:

Code:
ssh-rsa AAAAB3Nza - dummie -ofCASmJu6TrqbG27r peter@pluto_20110611
ssh-rsa AAAAB3Nza- dummie -fhmgV7S1n3n4n5wvx peter@mars_20110611

Die "known_host" speichert die öffentlichen Schlüssel der Rechner, denen du zu Beginn der Verbindung das Vertrauen ausgesprochen hast. Das dient lediglich zur Warnung, falls bei dir zu Hause "ein Man in the Middle" sich in die Verbindung eingeklinkt hat ;-) Hat also nichts mit der Berechtigung der anzumeldenden Benutzer zu tun.

Mach das mal (beides! Nachlesen und ausführen, was ich geschrieben habe) Meinetwegen auch deine sshd_config posten.

MfG Peter
 
OP
Chris K.

Chris K.

Member
Hurra, jetzt funktioniert es! (Nach der Schlüssel-Anlege-Aktion)
D.h. der Verbindungsaufbau mit Unison.
Eine Verbindung über sftp://blabla im Dateimanager geht immer noch nicht, aber das läuft ja über fish:// schon wunderbar. :roll:
Also Danke nochmal für die gute (und schnelle) Hilfe!
 

x3cion

Newbie
Da das der erste Eintrag für das Problem ist, möchte ich das hier festhalten:

Falls SSH funktioniert, fish funktioniert, sftp aber nicht, könnte das hier helfen:

http://yuenhoe.com/blog/2011/06/the-host-key-for-this-server-was-not-found-but-another-type-of-key-exists-when-using-sftp-with-dolphinkio/
 
Oben