编辑:想通了,我需要注释掉 SSL 的东西以使其成为 FTP。
问题:
我正在使用 vsftpd 运行带有 SSL 的 sFTP。
由于我无法在浏览器上访问 sFTP(没有扩展名),现在我想让 FTP 再次工作。
清除并重新安装 vsftpd 后,我发现 FTP 以默认设置运行(可以连接但不显示目录),而 sFTP 仍在使用以前的设置运行。所以我决定让 FTP 和 sFTP 同时运行。
然后我改变了 vsftpd.conf 如下:
listen=YES
listen_ipv6=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=NO
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd_FTP
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
utf8_filesystem=YES
local_root=/home/upload/ftp/
force_local_data_ssl=NO
force_local_logins_ssl=NO
但是在更改 vsftpd.conf 后,FTP 现在又因“连接被拒绝”而死机,而 sFTP 仍然正常工作。
sFTP 之前使用的设置如下:
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=NO
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
utf8_filesystem=YES
user_sub_token=$USER
local_root=/home/upload/ftp/ETC
allow_anon_ssl=YES
force_local_data_ssl=NO
force_local_logins_ssl=NO
listen_port=21
listen_port=22
问题:
[已解决]我的配置文件的哪一部分导致“连接被拒绝”?
清除后 sFTP 如何仍在运行,它在哪里设置文件?
[已解决]为什么 'local_root=/home/upload/ftp/' 选项什么都不做?
唯一未解决的问题是#2:
在 Ubuntu 中,
sftp
服务器机制通常作为 SSH 服务器的一部分完成。如果您正在运行
openssh-server
SSH 访问,那么这就是处理 SFTP 协议连接。