文章

SSH 免密登录

SSH 免密登录

在日常 Linux 服务器管理中,我们经常需要通过 SSH 登录远程服务器。如果每次都要输入密码,不仅麻烦,还影响自动化脚本的执行效率。本文介绍了 三步实现 SSH 免密登录,亲测可用且非常直观实用。

🛠️ 什么是 SSH 免密登录

SSH 免密登录指的是客户端通过预先生成的密钥对(公钥 + 私钥),在连接服务器时不再提示输入密码,而是使用密钥验证登录身份。这对于自动化运维、跨服务器数据同步等场景非常有用。


📌 三步实现 SSH 免密登录

下面按照顺序展示详细步骤:


1. 在客户端生成密钥对

在本地终端执行:

1
ssh-keygen

按提示一路回车即可,它会在当前用户的 ~/.ssh/ 目录下生成一对公私钥文件:

  • 私钥:id_rsa
  • 公钥:id_rsa.pub

生成密钥时默认一路回车即可,不需要输入密码。


2. 上传公钥到服务器

把刚生成的公钥 id_rsa.pub 上传到目标服务器:

1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.235.22

注意:

  • 替换其中 IP 和用户名(例如 root)为你自己的目标服务器信息。
  • 该命令会自动把公钥追加到服务器的 ~/.ssh/authorized_keys 文件中。

如果没有 ssh-copy-id 命令,也可以手动把公钥内容追加到远程服务器用户目录下的 ~/.ssh/authorized_keys 文件。


3. 测试 SSH 免密登录

上一步完成后,就可以直接使用 SSH 登录服务器了:

1
ssh root@192.168.235.22

这时不再需要输入密码,如果成功进入服务器,说明免密登录配置已生效。


🎯 总结与建议

✔ SSH 免密登录主要通过在客户端生成密钥对并上传公钥来实现; ✔ 用密钥对替代密码登录可以提升自动化效率和安全性; ✔ 对于多个服务器之间频繁登录或使用自动化脚本执行命令的场景,强烈建议启用免密登录。

本文由作者按照 CC BY 4.0 进行授权