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 进行授权