sudo nano /etc/vsftpd.conf
找到并修改以下参数:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
然后在 /etc/vsftpd.userlist
文件中添加 root 用户:
echo "root" | sudo tee -a /etc/vsftpd.userlist
重启 vsftpd 服务:
sudo systemctl restart vsftpd
ftp localhost
# 或
ftp your_server_ip
然后输入 root 用户名和密码。
sudo nano /etc/ssh/sshd_config
找到并修改以下参数:
PermitRootLogin yes
重启 SSH 服务:
sudo systemctl restart sshd
sftp root@your_server_ip
然后输入 root 密码。
更好的做法是:
如果必须使用 root,请:
更安全的替代方案是配置 chroot 环境的 SFTP:
sudo nano /etc/ssh/sshd_config
添加以下配置:
Match User root
ForceCommand internal-sftp
ChrootDirectory /root
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
然后重启 SSH 服务:
sudo systemctl restart sshd
这样 root 用户只能使用 SFTP 而不能使用 SSH shell 登录。