公众号旧文

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 别名优化

为今后的多服务器自动化运维打下了坚实的基础