阅读量:3
在SFTP配置中启用公钥认证可以提高安全性,以下是具体步骤:
服务器端配置
-
生成SSH密钥对
- 在服务器上,使用
ssh-keygen命令生成一对公钥和私钥。ssh-keygen -t rsa -b 4096 -m PEM -f ~/.ssh/id_rsa - 这将生成
id_rsa(私钥)和id_rsa.pub(公钥)文件。
- 在服务器上,使用
-
将公钥复制到服务器的授权密钥文件中
- 将生成的公钥文件
id_rsa.pub的内容追加到服务器用户的~/.ssh/authorized_keys文件中。cat ~/.ssh/id_rsa.pub | ssh user@server 'cat >> ~/.ssh/authorized_keys' - 确保
~/.ssh目录和authorized_keys文件的权限正确:chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
- 将生成的公钥文件
-
配置SSH服务器以使用公钥认证
- 编辑服务器上的SSH配置文件
/etc/ssh/sshd_config。sudo nano /etc/ssh/sshd_config - 找到并修改以下行:
PubkeyAuthentication yes - 确保以下行没有被注释掉(即前面没有
#):AuthorizedKeysFile .ssh/authorized_keys - 保存并退出编辑器。
- 编辑服务器上的SSH配置文件
-
重启SSH服务
- 重启SSH服务以应用更改。
sudo systemctl restart sshd
- 重启SSH服务以应用更改。
客户端配置
-
将私钥添加到SSH代理
- 如果你使用的是SSH代理(如
ssh-agent),可以将私钥添加到代理中。eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
- 如果你使用的是SSH代理(如
-
配置SSH客户端使用私钥
- 在客户端的SSH配置文件
~/.ssh/config中添加以下内容(如果文件不存在,可以创建一个):Host your_server_hostname HostName your_server_ip_or_hostname User your_username IdentityFile ~/.ssh/id_rsa - 这样,当你连接到服务器时,SSH客户端会自动使用指定的私钥进行认证。
- 在客户端的SSH配置文件
测试连接
- 使用SFTP客户端连接到服务器,验证公钥认证是否成功。
sftp your_username@your_server_hostname
通过以上步骤,你应该能够在SFTP配置中成功启用公钥认证。这样可以提高连接的安全性,并减少密码泄露的风险。
以上就是关于“SFTP配置中如何启用公钥认证”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm