【Linux】SSH 免密登录配置指南
·
管理服务器时,每次登录都要输密码,既麻烦又不安全。SSH 免密登录用密钥代替密码,配置一次,以后连接就不用再输密码了。这样不仅更安全,还能方便地做自动化任务、管理多台服务器。现在就一起开始,告别重复输入密码吧!
- A 服务器操作系统:Ubuntu 24.04.2 LTS
- B 服务器操作系统:CentOS Linux 7 (Core)
1、A/B 服务器配置
- A 服务器(发起 SSH 连接的主机)
- B 服务器(被连接的主机)
- 下方以配置 root 用户为例,生产环境建议使用非 root 用户配置 SSH 密钥

2、生成 SSH 密钥对
### A ###
# 检查是否已有密钥
ls -la ~/.ssh/
# 如果不存在,生成新密钥(推荐选择一种算法)
# 注意:执行命令后连续按 Enter 键,使用默认设置即可
ssh-keygen -t rsa -b 4096 # RSA 算法,兼容性好
# 或
ssh-keygen -t ed25519 # Ed25519 算法,更安全快速
# 或
ssh-keygen -t ecdsa -b 521 # ECDSA 算法
### B ###
# 确保 .ssh 目录存在且权限正确
mkdir -p ~/.ssh
chmod 700 ~/.ssh

3、配置授权公钥
### A ###
# 测试为配置公钥前需要用户密码登录
ssh root@172.16.13.200 pwd
# 将 A 服务器的公钥传入 B 服务器并重命名为 authorized_keys
scp ~/.ssh/id_rsa.pub root@172.16.13.200:~/.ssh/authorized_keys
### B ###
# 设置正确的文件权限
chmod 600 ~/.ssh/authorized_keys
# 查看 authorized_keys 文件
ls -la ~/.ssh/
4、测试连接
### A ###
# 在 A 服务器测试连接,ssh <username>@<B服务器IP> pwd
# 预期结果:无需输入密码,直接返回远程主机的当前目录路径
ssh root@172.16.13.200 pwd

更多推荐

所有评论(0)