我知道以前有人问过它(例如这里),但我完全被卡住了,不知道如何让它工作。
我正在尝试设置几个 ftp 用户,每个用户都有自己的子文件夹(因此用户只能看到他的根文件夹,而没有其他内容)。
当前的问题是在filezilla上我得到
Command: open "[email protected]" 22
Command: Trust new Hostkey: Once
Command: Pass: ******
Error: Authentication failed.
Error: Critical error: Could not connect to server
/etc/vsftpd.conf
listen=YES
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/home/ftpmain/ftp/$USER
hide_ids=YES
guest_username=vsftpd
secure_chroot_dir=/var/run/vsftpd/empty
ssl_enable=YES
allow_anon_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
pasv_address=123.123.123.123
pasv_enable=Yes
pasv_min_port=40000
pasv_max_port=50000
chroot_local_user=YES
chroot_list_enable=NO
/etc/pam.d/vsftpd
auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so
user1 文件夹如下所示(在 chmod+chown 之后):
/home/ftpmain/ftp/user1$ ll
total 12
dr-xr-xr-x 3 root root 4096 Mar 18 19:17 ./
dr-xr-xr-x 4 nobody nogroup 4096 Mar 18 19:09 ../
drwxr-xr-x 2 vsftpd nogroup 4096 Mar 18 19:17 folder1/
网络统计
$ netstat -tlpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
关于我缺少什么以及如何使其发挥作用的任何想法?有没有办法调试它?一些日志文件,我可以检查为什么登录失败?
任何帮助将不胜感激,如果您需要更多信息,请告诉我
PS:在 ubuntu 18.04 上运行
更新
我在 /var/log/auth 文件中发现了这个错误:
$ tail -f /var/log/*
Apr 30 15:05:49 ip-172-31-40-232 sshd[25641]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=111.111.111.111
Apr 30 15:05:51 ip-172-31-40-232 sshd[25641]: Failed password for invalid user user1 from 111.111.111.111 port 53251 ssh2
Apr 30 15:05:51 ip-172-31-40-232 sshd[25641]: error: Received disconnect from 111.111.111.111 port 53251:13: Unable to authenticate [preauth]
Apr 30 15:05:51 ip-172-31-40-232 sshd[25641]: Disconnected from invalid user user1 111.111.111.111 port 53251 [preauth]
我发现 vsftpd 根本没有运行!我以前没有看到它的原因是因为我有 SFTP 工作(使用端口 22)。vsftpd 状态为“失败”。
$ sudo /etc/init.d/vsftpd status
● vsftpd.service - vsftpd FTP server
Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2019-04-30 15:45:56 UTC; 2s ago
Process: 25980 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, status=2)
Process: 25972 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
Main PID: 25980 (code=exited, status=2)
我从命令行手动运行 vsftpd 并发现存在证书错误
$ sudo /usr/sbin/vsftpd /etc/vsftpd.conf
500 OOPS: SSL: cannot load RSA certificate
我通过将证书添加到 conf 文件来解决此问题