要限制SFTP访问权限,您需要按照以下步骤操作:
sudo apt-get update
sudo apt-get install openssh-server
sudo groupadd sftp_users
sudo adduser sftp_user
sudo passwd sftp_user
sudo usermod -aG sftp_users sftp_user
sudo nano /etc/ssh/sshd_config
在文件末尾添加以下内容:
# Limit SFTP access to the sftp_users group
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这将限制sftp_users组的成员只能访问其主目录,并禁止TCP和X11转发。
mkdir /home/sftp_user/.ssh
chmod 700 /home/sftp_user/.ssh
touch /home/sftp_user/.ssh/authorized_keys
chmod 600 /home/sftp_user/.ssh/authorized_keys
将允许访问的用户的公钥(例如,id_rsa.pub)添加到authorized_keys文件中:
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD... user@example.com" >> /home/sftp_user/.ssh/authorized_keys
sudo systemctl restart ssh
现在,您已成功限制了SFTP访问权限。只有sftp_users组的成员才能访问SFTP,并且他们只能访问其主目录及其子目录。