在Debian系统中,要设置SFTP自动登录,你需要编辑SSH配置文件并创建一个特定的用户组。以下是详细步骤:
打开终端。
使用文本编辑器(如nano或vim)打开SSH配置文件。在这个例子中,我们将使用nano编辑器:
sudo nano /etc/ssh/sshd_config
#Subsystem sftp /usr/lib/openssh/sftp-server
取消注释(删除行首的#符号),以便启用SFTP子系统:
Subsystem sftp /usr/lib/openssh/sftp-server
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这将限制名为"sftpusers"的用户组的成员只能使用SFTP,并将他们的根目录更改为他们自己的主目录。
保存并关闭配置文件。
创建一个名为"sftpusers"的新用户组:
sudo groupadd sftpusers
sudo usermod -aG sftpusers your_username
将your_username替换为实际的用户名。
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
将your_username替换为实际的用户名。
sudo systemctl restart ssh
现在,当用户使用SFTP连接到服务器时,他们将自动登录到他们的主目录,无需再次输入密码。请注意,这种方法仍然需要用户在连接时提供密码,但无需在每次连接时手动输入。如果你想要完全无需密码的自动登录,你需要设置SSH密钥认证,但这超出了本问题的范围。