Centos8 ssh配置三台虚拟机免密登录 root 及 非root 稍有差异;SSH的免密登录详细步骤
为了保证一台Linux主机的安全,所以我们每个主机登录的时候一般我们都设置账号密码登录。但是很多时候为了操作方便,我们都通过设置SSH免密码登录。
一、配置SSH
- 基本语法:假设要用用户名root登录远程主机host,只需要输入ssh root@host,如ssh root@192.168.29.129,若本地用户名与远程用户名一致,登录时则可以省略用户名,如ssh host。
- 第一次连接时会出现 Are you sure you want to continue connecting (yes/no)? ,直接输入yes即可。

二、无秘钥配置
- 免密登录原理如下图所示:

三、先决条件
- 3台 Centos 7
| hostname | IP |
|---|---|
| localzly | 192.168.245.128 |
| slave1 | 192.168.245.129 |
| slave2 | 192.168.245.130 |
四、步骤
1.本地机器生成公私钥
2.上传公钥到目标机器
3.测试免密登录
具体操作:
1.准备工作
- 使用root权限分别修改每台机器的hosts,添加每台机器所对应的IP和主机名(我这里分布式集群是3台机器组成的,所以配置3台,习惯将自己的ip和主机名放在第一行)
sudo vim /etc/hosts
删除文件里内容后添加如下内容

- 查看本地机器的隐藏文件 .ssh (此步可省略)
ll -a (小写L)

- CentOS 默认没有启动 ssh 无密登录,去掉 /etc/ssh/sshd_config 其中的 2 行的注释,每台服务器都要设置。
AuthorizedKeysFile .ssh/authorized_keys
PubkeyAuthentication yes
2.在本地机器用ssh-keygen 生成一个公私钥对
(1)每台服务器下都输入命令:ssh-keygen -t rsa,生成key,一律不输入密码,直接回车,/root 就会生成 .ssh文件夹。
中间输入一个y 和三个回车

在.ssh/目录下,会新生成两个文件:id_rsa.pub和 id_rsa

(2)在 localzly 服务器下,合并公钥到 authorized_keys 文件,进入 /root/.ssh 目录,通过SSH命令合并。
cat id_rsa.pub>> authorized_keys
#内回环 连接自己 第一次需要验证
ssh master
ssh root@slave1 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh root@slave2 cat ~/.ssh/id_rsa.pub>> authorized_keys
(3)将 localzly 服务器的 authorized_keys、known_hosts 复制到 Slave1,slave2 服务器的 /root/.ssh 目录下。
scp authorized_keys root@slave1:/root/.ssh/
scp authorized_keys root@slave2:/root/.ssh/
scp known_hosts root@slave1:/root/.ssh/
scp known_hosts root@slave2:/root/.ssh/
第二种方法(这种较为麻烦)
将公钥复制到另外两个虚拟机用下面两个命令中亦可!(两个命令中随便一个即可 两个命令作用都是同样的:复制公钥), 这步自动合并成 authorized_keys 文件并传给另外的虚拟机!!
这个时候localzly的公钥文件内容会追加写入到slave1的 .ssh/authorized_keys
文件中查看slave1下的authorized_keys文件与localzly下的id_rsa.pub中内容是一样的 命令 : cat authorized_keys 这步是单向的,localzly的公钥会存放在slave1下,localzly可以免密过去,但是slave1过不来,形象点说 假如localzly是一台手机,slave1也是,现在下面这个操作是把localzly的指纹存到slave1,这意味着你不需要密码就可以解开slave1的锁,而localzly没有slave1的话,slave就解不开localzly的锁,所以下面的步骤还需要将slave1的公钥传到localzly 综合起来看效果是一样的 ,但是却没有第一种方法简单 推荐上面的命令
ssh-copy-id -i .ssh/id_rsa.pub root@slave1 这个分别发给slave1 slave2
还需要一步
ssh-copy-id -i .ssh/id_rsa.pub root@localzly
ssh-copy-id root@slave1
其中 -i:指定公钥文件
注意:(@前边是接受公钥机器的用户名,后边是接受放的ip,因为配置了映射所以ip可以用主机名代替)

3.查看远程从节点主机上是否接收到 authorized_keys文件

- 完成,ssh root@192.168.245.129 、ssh root@192.168.245.130 就不需要输入密码了。(也可用主机名连接)
使用IP免密登录(用户名相同时,ssh+主机名;如果不同,登录方式就是 ssh+用户名@IP地址)
- ssh localzly
- ssh slave1
- ssh slave2
4、非root用户之前免密登录
使用非root用户进行登录,一系列操作与上面的步骤一样。
注意:这里你可能会发现,按照上诉步骤配置完成之后 ssh 用户名@slave1 还是需要输入密码,这里需要对.ssh文件夹和authorized_keys文件修改权限
[root@slave1 .ssh]# chmod 700 ~/.ssh/
[root@slave1 .ssh]# chmod 600 ~/.ssh/authorized_keys
5.重启 SSH服务命令(拓展)
sudo systemctl restart sshd
sudo service sshd restart
6.退出免密登录
exit
参考:
- https://blog.csdn.net/qq_37257738/article/details/112253242?spm=1000.2123.3001.4430
- https://blog.csdn.net/SXY16044314/article/details/90605069?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control
Centos8 ssh配置三台虚拟机免密登录 root 及 非root 稍有差异;SSH的免密登录详细步骤的更多相关文章
- 手动配置三台虚拟机pacemaker+corosync并添加httpd服务
创建三台虚拟机,实验环境:centos7.1,选择基础设施服务安装. 每台虚拟机两块网卡,第一块为pxe,第二块连通外网,手动为两块网卡配置IP.网关,使它们都能ping通外网并可以互相通过hostn ...
- 【异常】ssh无法登录验证,非root用户ssh本机无法成功
1 自己搭建的是伪分布式环境,需要以非root用户启动Hadoop集群,之前root已经配置了ssh免密登录,但是自己切换到hdfs用户重新生成了一套ssh key, 但是切换到hdfs始终无法成功登 ...
- linux_配置三台虚拟机免密登录
在node01上面直接生成公钥和私钥 ssh-keygen --> 四下回车 ll -a 进行查看,发现出现.ssh文件即已经生成 将此node01的公钥拷贝到第二台机器上 ssh-copy-i ...
- spark集群搭建(三台虚拟机)——系统环境搭建(1)
!!!该系列使用三台虚拟机搭建一个完整的spark集群,集群环境如下: virtualBox5.2.Ubuntu14.04.securecrt7.3.6_x64英文版(连接虚拟机) jdk1.7.0. ...
- Centos7下配置Tomcat7以指定(非root)身份运行
通常情况下,在配置Tomcat生产环境时,通常会配置Tomcat以特定的身份运行(非root),这样有利于提高安全性,防止网站被黑后的进一步权限提升. 本文依赖的环境: Ubuntu(其实大部分同样适 ...
- Ubuntu下配置Tomcat以指定(非root)身份执行
My Blog:http://www.outflush.com/ 通常情况下.在配置Tomcat生产环境时,一般会配置Tomcat以特定的身份执行(非root).这样有利于提高安全性,防止站点被黑后的 ...
- SSH配置免密登录
[参考文章]:linux服务器ssh免密码登录 [参考文章]:ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mi ...
- SSH配置—Linux下实现免密码登录
首先,假设我们有两台服务器,服务器名称分别是 master 和 slave1,我们现在需要做的就是在服务器 master 上面登录 服务器 slave1 不需要输入密码就可以登录成功,如下图所示. 下 ...
- 非root用户的SSH免密登录
在网上找到的教程一般是这样说的 cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost ssh-keygen -t rsa # 会有提示,都按回车就可以 cat id_rsa. ...
- ssh配置免密码登录
日常工作中很多情况下都需要登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录. 首先服务器两台: A:43.224.34.* B:104.238.161.* ...
随机推荐
- vue 进阶学习(二):node.js、npm、webpack、vue-cli
node.js.npm.webpack.vue-cli 前言:主要对插件的描述,安装,卸载.使用以及注意点 1 node.js 说明:是一个基于 Chrome V8 引擎的 JavaScript 运行 ...
- Github最简单上传教程:真正的两分钟就可以学会! guitar
相关链接: 码云(gitee)配置SSH密钥 码云gitee创建仓库并用git上传文件 git 上传错误This oplation equires one of the flowi vrsionsot ...
- PaddleNLP--UIE(二)--小样本快速提升性能(含doccona标注)
相关文章: 1.快递单中抽取关键信息[一]----基于BiGRU+CR+预训练的词向量优化 2.快递单信息抽取[二]基于ERNIE1.0至ErnieGram + CRF预训练模型 3.快递单信息抽取[ ...
- Git企业开发控制理论和实操-从入门到深入(六)|多人协作开发
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总 然后就是博主最近最花时间的一 ...
- CF452F Permutation 与 P2757 [国家集训队] 等差子序列 题解
两道基本一样的题: 题目链接: P2757 [国家集训队] 等差子序列 Permutation 链接:CF 或者 洛谷 等差子序列那题其实就是长度不小于 \(3\) 的等差数列是否存在,我们考虑等于 ...
- JS LeetCode 566. 重塑矩阵题解分析,数组降维的几种方式
壹 ❀ 引 今天是过完年到公司的第二天,年前因为封版,到今天我们小组是第一个发版的组,然后就各种踩坑,到现在还在公司等运维解决jenkins问题,闲着也是闲着,做一道算法题,简单记录下解题思路,本题来 ...
- NC18389 收益
题目链接 题目 题目描述 小N是一家金融公司的项目经理.他准备投资一个项目,这个项目要融资L元,融资成功后会得到M元的利润.现在有n个客户.对于第i个客户,他有mi元钱.小N承诺假如最后筹够钱,会给这 ...
- NC23482 小A的最短路
题目链接 题目 题目描述 小A这次来到一个景区去旅游,景区里面有N个景点,景点之间有N-1条路径.小A从当前的一个景点移动到下一个景点需要消耗一点的体力值.但是景区里面有两个景点比较特殊,它们之间是可 ...
- NC17315 背包
题目链接 题目 题目描述 Applese有 \(1\) 个容量为 \(v\) 的背包,有 \(n\) 个物品,每一个物品有一个价值 \(a_i\) ,以及一个大小 \(b_i\) 然后他对此提出了自己 ...
- DRF解决跨域问题
Django Rest Framework提供了corsheaders模块解决跨域问题 安装模块 pip3.9 install django-cors-headers 注册应用 # 注册 corshe ...