CentOS的SFTP支持公钥认证。以下是关于如何在CentOS上配置SFTP公钥认证的详细步骤:
ssh-keygen -t rsa -b 4096
id_rsa
(私钥)和id_rsa.pub
(公钥)两个文件。使用ssh-copy-id
命令将公钥复制到CentOS服务器的~/.ssh/authorized_keys
文件中:
ssh-copy-id user@server_ip
其中,user
是服务器上的用户名,server_ip
是服务器的IP地址。
如果ssh-copy-id
不可用,可以手动复制公钥:
cat ~/.ssh/id_rsa.pub
.ssh
目录(如果不存在)并设置正确的权限:mkdir -p ~/.ssh
chmod 700 ~/.ssh
authorized_keys
文件中:echo "公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
编辑服务器上的SSH配置文件/etc/ssh/sshd_config
:
sudo vi /etc/ssh/sshd_config
找到并修改以下配置项以启用公钥认证:
PubkeyAuthentication yes
(可选)为了增强安全性,还可以配置其他相关选项,例如限制允许使用公钥认证的用户组:
AllowGroups sftpusers
然后在/etc/group
文件中添加相应的用户到sftpusers
组。
保存并退出编辑器,然后重启SSH服务以应用更改:
sudo systemctl restart sshd
sftp user@server_ip
通过以上步骤,您应该能够在CentOS系统上成功配置并使用SFTP公钥认证。