公众号旧文
Linux 免密登录简明教程
在管理多台服务器时,每次输入密码会非常麻烦。
通过 SSH 密钥认证,可以实现服务器之间的免密登录,提升运维效率。
本文将演示如何从 jp-iij 免密登录到 tr-ist
原理简介
SSH 免密登录基于公钥认证机制:
本地保存:私钥
远程服务器保存:公钥
当你登录时,服务器验证你是否持有对应私钥。
验证通过,就无需输入密码。
第一步:生成 SSH 密钥
在源服务器(如 jp-iij)执行:
ssh-keygen -t ed25519
一路回车即可。
生成文件:
~/.ssh/id_ed25519 → 私钥(不要泄露)
~/.ssh/id_ed25519.pub → 公钥
第二步:下发公钥
执行:
ssh-copy-id root@100.64.0.16
输出示例:
Number of key(s) added: 1
输入一次目标服务器密码后,配置自动完成
这一步本质是把公钥写入远程服务器:
/root/.ssh/authorized_keys
等价于手动执行:
cat ~/.ssh/id_ed25519.pub | ssh root@100.64.0.16 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
第三步:测试免密登录
ssh root@100.64.0.16
如果直接登录成功:
root@tr-ist:~
说明免密登录配置完成
进阶优化(推荐)
编辑 SSH 配置文件:
nano ~/.ssh/config
写入:
Host tr-ist
HostName 100.64.0.16
User root
之后可以直接:
ssh tr-ist
小结
通过本文,你完成了:
1、SSH 密钥生成
2、公钥下发
3、免密登录配置
4、SSH 别名优化
为今后的多服务器自动化运维打下了坚实的基础