阅读量:317
安装OpenSSH服务器(如果尚未安装):
sudo apt-get update
sudo apt-get install openssh-server
创建一个新的用户组,用于SFTP虚拟主机:
sudo groupadd sftp_users
为SFTP虚拟主机创建一个新用户,并将其添加到sftp_users组:
sudo adduser your_username
sudo passwd your_username
sudo usermod -aG sftp_users your_username
将your_username替换为您选择的用户名。
以root用户身份编辑sshd_config文件:
sudo nano /etc/ssh/sshd_config
在sshd_config文件中,找到以下行并进行修改:
# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
取消注释(删除行首的#符号)以启用内部SFTP服务器。
在sshd_config文件中,添加以下内容以配置虚拟主机:
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这将限制sftp_users组的用户只能访问其主目录。
保存并关闭sshd_config文件。
为SFTP虚拟主机创建一个主目录,并设置正确的权限:
sudo mkdir /home/your_username/public_html
sudo chown your_username:sftp_users /home/your_username/public_html
sudo chmod 755 /home/your_username/public_html
将your_username替换为您选择的用户名。
重启SSH服务以应用更改:
sudo systemctl restart ssh
现在,您已经成功配置了Ubuntu上的SFTP虚拟主机。用户可以使用SFTP客户端连接到服务器,并访问其在/home/your_username/public_html目录中的文件。