sftp mit vsftpd und mysql

M

mfuhrmann

Grünschnabel
Hallo zusammen,

ich möchte den vsftpd auf meinem CentOS 6 dazu bewegen a) sftp und b) den mysql zwecks virtuellen Usern zu nutzen.
Bisher klappt es nur mit FTP und MySQL.

Diesen Fehler finde ich im secure Log, wenn ich versuche eine sftp Verbindung herzustellen:
Code:
Oct 12 16:42:01 localhost sshd[2124]: Invalid user user1 from 192.168.27.1
Oct 12 16:42:01 localhost sshd[2125]: input_userauth_request: invalid user user1
Oct 12 16:42:01 localhost sshd[2124]: pam_unix(sshd:auth): check pass; user unknown
Oct 12 16:42:01 localhost sshd[2124]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.27.1
Oct 12 16:42:01 localhost sshd[2124]: pam_succeed_if(sshd:auth): error retrieving information about user user1
Oct 12 16:42:03 localhost sshd[2124]: Failed password for invalid user user1 from 192.168.27.1 port 53599 ssh2
Oct 12 16:42:03 localhost sshd[2125]: fatal: Read from socket failed: Connection reset by peer

Kann mir jemand vielleicht über meine Konfig schauen und einen Tipp geben? Vielen Dank!

/etc/vsftpd/vsftpd.conf:
Code:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
log_ftp_protocol=YES
connect_from_port_20=YES
xferlog_std_format=YES
nopriv_user=vsftpd
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=yes
guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pasv_enable=YES
pasv_min_port=44000
pasv_max_port=44100
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem

/etc/pam.d/vsftpd
Code:
#%PAM-1.0
session     optional     pam_keyinit.so     force revoke
auth required pam_mysql.so user=vsftpd passwd=PASSWORD host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=3
account required pam_mysql.so user=vsftpd passwd=PASSWORD host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=3


Schönes Wochenende!
 
Hast du evtl. auf dem SFTP-Port noch den SSH-Daemon laufen? Dein Eintrag im Log kommt auf jeden Fall vom sshd und nicht vom vsftpd.
 
Ich bin verwirrt. SSH ist ja per default auf 22. SFTP auch. SFTP (=SCP, also kopieren über SSH). Der VSFTPD kann ja alles mögliche. FTPS/FTPES/FTP und wohl auch SFTP. Eigentlich ist es mir Schnuppe welches FTP es ist. Habe eig. nur die Anforderung:
-verschlüsselt
-nur Zugriff auf einen best. FTP Ordner
-ggfs. virtuelle User um es noch ein wenigs sicherer zu machen

Ich habe atm nur 2 Parteien die über das Internet auf den FTP zugreifen müssen. Also noch recht übersichtlich.

Kann mir vielleicht jemand mal eine Empfehlung aussprechen welche Variante sinniger ist, bevor ich jetzt vielleicht den falschen Weg weiter gehe? Danke sehr.
 
Zuletzt bearbeitet:
Ich bin verwirrt. SSH ist ja per default auf 22.
Da sich der sshd aber eben auch auf Port 22 bindet (beim start) kann sich vsftpd natürlich nicht auch noch auf den gleichen Port legen.
Entweder du legst den sshd oder den vsftpd auf einen anderen Port. Dann sollte auch die Verbindung funktionieren.

Ach ja: FTP geht, weil es eben auf Port 21 läuft, der nicht durch sshd oder sonst ein Daemon belegt wird.
 
Da sich der sshd aber eben auch auf Port 22 bindet (beim start) kann sich vsftpd natürlich nicht auch noch auf den gleichen Port legen.
Entweder du legst den sshd oder den vsftpd auf einen anderen Port. Dann sollte auch die Verbindung funktionieren.

Ach ja: FTP geht, weil es eben auf Port 21 läuft, der nicht durch sshd oder sonst ein Daemon belegt wird.

Habe nun den sshd auf einen anderen Port gelegt. Aber ich kann noch immer nicht verbinden. Habe selinux und iptables erstmal ausgeschaltet um Probleme auszuschließen.
 
hier noch mal meine aktuelle vsftpd.conf:

Code:
allow_anon_ssl=NO
anonymous_enable=NO
chroot_local_user=YES
connect_from_port_20=YES
dirmessage_enable=YES
dual_log_enable=YES
force_local_data_ssl=NO
force_local_logins_ssl=NO
guest_enable=YES
guest_username=vsftpd
listen_port=22
listen=YES
local_enable=YES
local_root=/home/vsftpd/$USER
local_umask=022
log_ftp_protocol=NO
nopriv_user=vsftpd
pam_service_name=vsftpd
pasv_enable=YES
pasv_max_port=44100
pasv_min_port=44000
rsa_cert_file=/etc/vsftpd/vsftpd.pem
ssl_enable=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_tlsv1=YES
syslog_enable=NO
tcp_wrappers=YES
userlist_deny=yes
userlist_enable=YES
user_sub_token=$USER
virtual_use_local_privs=YES
vsftpd_log_file=/var/log/vsftpd.log
write_enable=YES
xferlog_enable=YES
xferlog_std_format=YES

Im Log steht bei Verbinungsversuch nur:
Code:
Tue Oct 16 10:46:29 2012 [pid 2717] CONNECT: Client "192.168.27.1"
und Filezilla sagt:

Code:
Status:	Verbinde mit 192.168.27.132...
Antwort:	fzSftp started
Befehl:	open "user1@192.168.27.132" 22
Fehler:	Zeitüberschreitung der Verbindung
Fehler:	Herstellen der Verbindung zum Server fehlgeschlagen
 
Hi,

ich dachte bisher immer, der vsftpd unterstützt das FTP-Protokoll, ggf. auch mit SSL-Verschlüsselung, aber kein SFTP. Das SFTP-Protokoll wird doch (ebenso wie SCP und SSH-Login) durch den sshd (standardmässig auf Port 22) bedient, oder liege ich hier falsch?

Evtl. ist es ja möglich, dem sshd über PAM (etwa mit dem pam_mysql-Modul) beizubringen, die User in der gleichen MySQL-DB zu suchen wie der vsftpd - im Augenblick sieht er dort ja nicht nach, wie man deiner secure.log entnehmen kann ("invalid user user1"; "user unknown").

Gruss, A.
 
Servus,

hmm, floyd62 bin da deiner Meinung, habe jetzt auch nichts gefunden das der vsftpd SFTP unterstüzt.

Aber auch beim SFTP via sshd ist es möglich User einzusperren, hier ist zum Beispiel ein solches HowTo.

mfg
HeadCrash
 

Ähnliche Themen

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

3 Wege zur Authentifizierung?

JBidWatcher: Problem bei loading Auctions in Verbindung mit mySQL

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

zwei Sambaserver binden

Zurück
Oben