PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : seltsames verhalten vsftpd



ragna
06.05.10, 05:53
Hallo Linuxprofis ;)

ich hab schon wieder eine Frage :>

kurz das szenario:
auf meinem debian gibt es zwei Benutzer:
root
hans (mitglied in selbst erzeugter Gruppe ssh-user)

für hans hab ich ein rsa schlüsselpaar für ssh login erstellt und ihn per AllowGroups ssh-user in der sshd_config den login auf mein Debian erlaubt.

jetzt hab ich vsftpd installiert und mir gedacht .... wenn ich einmal ein rsa key pair hab, kann ich das ja direkt für SSH FTP benutzen.
gesagt, getan den privat key unter windows in filezilla eingetragen
Server Type auf: SSH FTP gestellt
Logon Type: Interaktiv
Benutzer: hans

und jetzt das seltsame ... ich habe nirgends in der vsftpd config irgendeinen key hinterlegt bzw den speicherort eingetragen (also /home/hans/.ssh/ )

wenn ich jetzt per SSH FTP connecte hab ich vollen Zugriff auf den Server bis runter ins /-Verzeichnis
in der vsftpd_conf hab ich chroot_local_user=YES
wenn ich per normalen FTP protokoll connecte und mich mit username/password authentifiziere bin ich tatsächlich auf mein home verzeichnis beschränkt.

Meine Fragen:
1. Wieso funktioniert die SSH-Verbindung einfach so
2. Wieso ist der benutzer nicht chrooted?

Schonmal besten Dank im Voraus

mfg ragna

drcux
06.05.10, 06:09
wenn ich jetzt per SSH FTP connecte hab ich vollen Zugriff auf den Server bis runter ins /-Verzeichnis


Ganz einfach: Für diese SSH-FTP-Verbindung wird der vsftpd nicht genutzt, sondern ssh selber.

ragna
06.05.10, 06:43
auf die kühne idee bin ich natürlich nicht gekommen...
danke für die schnelle antwort (:

was ich jetzt auf die schnelle gefunden habe ist, das dafür in der sshd_conf doch folgender befehl stehen müsste:

Subsystem sftp internal-sftp

in meiner config steht allerdings nur:

Subsystem sftp /usr/lib/openssh/sftp-server

oder ist das das gleiche?

Aber mal davon abgesehen, wenn ich sowieso vsftpd benutze macht es doch sicherlich sinn das sftp subsystem auszuschalten oder?
Und wenn ja, wie bekomm ich das hin? einfach den oberen eintrag auskommentieren?

marce
06.05.10, 07:01
Du musst Dich einfach entscheiden, was Du benutzen willst.

Leider ist "SFTP" eine jener schwammigen Abkürzungen - je nach dem wird da alles drunter verstanden - ftp over ssh, secure-ftp, ...

So Du die Möglichkeit hast - verwende scp und chroote dort die User. Dann hast Du die optimale Verschlüsselung und die besten Möglichkeiten zur Absicherung.

drcux
06.05.10, 09:07
Subsystem sftp internal-sftp
[...]
Subsystem sftp /usr/lib/openssh/sftp-server

oder ist das das gleiche?


Nein, es ist nicht das gleiche: Früher konnte der ssh-Server es nicht selber und musste dafür ein extra Programm starten (sftp-server). Mitlerweile kann der sshd das selber (internal-sftp), damit ist dann ein chrooten der user recht simpel geworden, zB.:

Match group sftponly
ChrootDirectory /home/%u



Aber mal davon abgesehen, wenn ich sowieso vsftpd benutze macht es doch sicherlich sinn das sftp subsystem auszuschalten oder?


Nein, wenn der sshd sowieso läuft, und man kein reines ftp braucht, macht es Sinn, auf den vsftp zu verzichten.

BedriddenTech
06.05.10, 19:52
Leider ist "SFTP" eine jener schwammigen Abkürzungen - je nach dem wird da alles drunter verstanden - ftp over ssh, secure-ftp, ..

Der Vollständigkeit halber: Eigentlich und ganz genau genommen ist FTPS "FTP over SSL" -- analog zu IMAPS, POP3S und ähnlichem --, während "SFTP" immer SSH involviert. "FTP over SSH" firmiert dann aber leider auch wieder unter "FTPS".

Nicht, daß es einen Unterschied hier machen würde.