SSH密钥登录配置教程:Linux服务器SSH Key认证安全设置方法-05互联
>

新闻中心 / SSH密钥登录配置教程:Linux服务器SSH Key认证安全设置方法

SSH密钥登录配置教程:Linux服务器SSH Key认证安全设置方法

发布时间:2026/10/7 19:12:37

什么是SSH密钥登录?

SSH密钥登录(SSH Key Login)是一种基于非对称加密技术的服务器身份认证方式,主要用于Linux服务器、云服务器、VPS服务器的远程安全管理。

相比传统的SSH密码登录方式,SSH密钥认证具有更高的安全性,可以有效防止暴力破解、密码泄露等安全风险,是目前服务器运维中推荐使用的远程登录方式。

SSH密钥登录由两部分组成:

  • 私钥(Private Key):保存在本地电脑,不能泄露。

  • 公钥(Public Key):上传到服务器,用于验证登录身份。

当用户通过SSH连接服务器时,服务器会验证本地私钥是否与保存的公钥匹配,验证成功后即可免密码登录服务器。


SSH密钥登录的优势

1. 提升服务器安全性

SSH密钥采用加密算法进行身份验证,相比普通密码更加安全,可以降低服务器被暴力破解的风险。

2. 实现免密码登录

配置完成后,用户无需每次输入服务器密码,只需要使用SSH密钥即可快速连接服务器。

3. 防止密码泄露

即使服务器遭遇密码攻击,没有对应的私钥文件也无法登录服务器。

4. 适合云服务器管理

SSH密钥登录广泛应用于:

  • 美国服务器

  • 香港服务器

  • VPS服务器

  • 云计算服务器

  • Linux服务器

  • 企业服务器


SSH密钥登录工作流程

SSH Key认证流程如下:

用户本地电脑
      |
      |
生成SSH密钥
      |
      |
私钥保存本地
      |
      |
上传公钥到服务器
      |
      |
SSH连接服务器
      |
      |
服务器验证密钥
      |
      |
认证成功登录

一、生成SSH密钥

Windows系统生成SSH密钥

Windows 10/11系统已经内置OpenSSH工具。

打开CMD或者PowerShell:

ssh-keygen -t ed25519

或者:

ssh-keygen -t rsa -b 4096

执行后会提示:

Enter file in which to save the key

直接回车即可。

生成文件:

id_ed25519       私钥文件
id_ed25519.pub   公钥文件

默认位置:

C:\Users\用户名\.ssh\

Linux/Mac生成SSH密钥

打开终端:

ssh-keygen -t ed25519

生成:

~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub

二、上传SSH公钥到服务器

方法一:使用ssh-copy-id自动上传

执行:

ssh-copy-id root@服务器IP地址

例如:

ssh-copy-id root@192.168.1.100

输入服务器密码后,公钥会自动写入:

/root/.ssh/authorized_keys

方法二:手动添加公钥

查看本地公钥:

cat ~/.ssh/id_ed25519.pub

复制内容。

登录服务器:

ssh root@服务器IP

创建目录:

mkdir -p ~/.ssh

编辑:

nano ~/.ssh/authorized_keys

粘贴公钥内容。

保存退出。


三、设置SSH密钥权限

服务器端执行:

chmod 700 ~/.ssh

设置:

chmod 600 ~/.ssh/authorized_keys

正确权限可以避免SSH认证失败。


四、测试SSH密钥登录

退出服务器:

exit

重新连接:

ssh root@服务器IP

如果配置正确,将直接进入服务器,无需输入密码。


五、关闭SSH密码登录(提高安全性)

成功配置SSH密钥后,可以关闭密码认证。

编辑SSH配置文件:

nano /etc/ssh/sshd_config

修改:

PasswordAuthentication no

关闭root密码登录:

PermitRootLogin prohibit-password

保存后重启SSH服务:

Ubuntu / Debian:

systemctl restart ssh

CentOS:

systemctl restart sshd

六、SSH密钥登录常见问题

1. Permission denied错误

可能原因:

  • 公钥没有上传成功

  • 文件权限错误

  • SSH配置错误

检查:

ls -la ~/.ssh

确认:

authorized_keys

存在。


2. SSH仍然要求输入密码

检查:

ssh -v root@服务器IP

查看SSH认证过程。

确认:

Offering public key

是否出现。


3. 私钥权限错误

Linux/Mac执行:

chmod 600 ~/.ssh/id_ed25519

SSH密钥登录安全优化建议

为了提高服务器安全性,建议:

✅ 使用Ed25519算法生成密钥

ssh-keygen -t ed25519

✅ 修改默认SSH端口

例如:

Port 2222

✅ 禁止密码登录

PasswordAuthentication no

✅ 禁止root直接登录

PermitRootLogin no

✅ 开启防火墙限制访问

例如:

ufw allow 2222/tcp

总结

SSH密钥登录是目前Linux服务器最安全、最推荐的远程连接方式。通过生成SSH密钥、上传公钥、配置SSH服务,可以有效提升服务器安全等级,降低密码泄露和暴力破解风险。

无论是管理美国服务器、云服务器、VPS服务器,还是企业Linux服务器,建议使用SSH Key认证替代传统密码登录方式。



文章技术提供:05互联
网站:www.05vm.com