CentOS 7 SSH 免密登录的方法

先决条件

3 台 CentOS 7

HOSTNAMEIPROLE
server1 10.8.26.197 Master
server2 10.8.26.196 Slave1
server3 10.8.26.195 Slave2

1. 用 root 用户登录。每台服务器都生成公钥,再合并到 authorized_keys。

2. CentOS 默认没有启动 ssh 无密登录,去掉 /etc/ssh/sshd_config 其中 2 行的注释,每台服务器都要设置。

1
2
RSAAuthentication yes
PubkeyAuthentication yes

3. 每台服务器下都输入命令 ssh-keygen -t rsa,生成 key,一律不输入密码,直接回车,/root 就会生成 .ssh 文件夹。

4. 在 Master 服务器下,合并公钥到 authorized_keys 文件,进入 /root/.ssh 目录,通过 SSH 命令合并.

1
2
3
# cat id_rsa.pub>> authorized_keys
# ssh root@10.8.26.196 cat ~/.ssh/id_rsa.pub>> authorized_keys
# ssh root@10.8.26.195 cat ~/.ssh/id_rsa.pub>> authorized_keys

5. 把 Master 服务器的 authorized_keysknown_hosts 复制到 Slave 服务器的 `/root/.ssh 目录

1
2
3
4
# scp authorized_keys root@server2:/root/.ssh/
# scp authorized_keys root@server3:/root/.ssh/
# scp known_hosts root@server2:/root/.ssh/
# scp known_hosts root@server3:/root/.ssh/

6. 完成,ssh root@10.8.26.196ssh root@10.8.26.195 就不需要输入密码了。

 

另一种方式:

 

1
2
3
4
1、cd .ssh/
2、ssh-keygen -t rsa
3、ssh-copy-id root@ip  
4、ssh ip #测试成功
示例:在166上执行ssh-keygen -t rsa,然后ssh-copy-id root@10.20.31.169

[root@master1 ~]# chmod 0750 /root -R
[root@master1 ~]# chmod 600 ~/.ssh/id_rsa

非root用户传递文件的话别忘了修改文件属主


ssh-copy-id root@10.20.31.170
ssh-copy-id root@10.20.31.171
ssh-copy-id root@10.20.31.172
ssh-copy-id root@10.20.31.175
 
posted @   人艰不拆_zmc  阅读(4405)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2014-06-27 find the safest road(弗洛伊德)
2014-06-27 畅通工程续 (SPFA模板Floy模板)
2014-06-27 最短路入门题
2014-06-27 oj2894(贝尔曼福特模板)
2014-06-27 SPFA算法
2014-06-27 Bellon(多么痛的领悟)
点击右上角即可分享
微信分享提示