Products
96SEO 2025-07-25 20:23 6
SFTP是一种基于SSH的文件传输协议,用于在网络上平安地传输文件。公钥认证是一种身份验证方法,它用一对密钥来验证用户的身份。
先说说您需要为SFTP用户创建一个组。在终端中运行以下命令:
sudo groupadd sftp_users
接下来 将用户添加到新鲜创建的组中,并设置适当的权限。
sudo usermod -aG sftp_users username
确保用户目录的权限正确设置, 比方说:
chmod 700 /home/username
编辑SSH配置文件/etc/ssh/sshd_config
确保以下配置项正确设置:
Subsystem sftp /usr/lib/openssh/sftp-server
Match Group sftp_users
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
PermitTunnel no
ForceCommand internal-sftp
在客户端生成一个SSH密钥对。在终端上运行以下命令:
ssh-keygen -t rsa -b 4096
按照提示操作,通常会生成两个文件:~/.ssh/id_rsa
和~/.ssh/id_rsa.pub
。
将生成的公钥复制到服务器的~/.ssh/authorized_keys
文件中。你能用ssh-copy-id
命令来完成这一操作:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
保存并关闭文件后 沉启SSH服务以应用更改:
sudo systemctl restart sshd
眼下您能用以下命令测试SFTP连接:
sftp username@server_ip
如果您配置正确,您得能够成功连接并用SFTP。
通过以上步骤,您得能够成功配置Debian系统上的SFTP以用公钥认证。这种方法给了更高大的平安性,基本上原因是它避免了密码传输,并且只有拥有私钥的用户才能访问文件。
Demand feedback