centos 7 免密登录
本文转载自:https://www.cnblogs.com/hobinly/p/6039844.html
环境示例
Centos7 192.168.1.101 master
Centos7 192.168.1.102 slave
已安装openssl
1、检查机器名和连通性[root用户下操作]
master 查看文件“/etc/hostname" 是否配置成”master",文件内容为空,需要添加“master",添加后如:
master
ping slave,无法ping通,查看文件”/etc/hosts" ,是否添加对slave的解析,如:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.101 master
192.168.1.102 slave
相应slave也同样检查网络名称“slave”和master地址解析
确保在master机器上ping slave成功,在slave机器上ping master成功
2、修改ssh config配置[root用户下操作]
查看/etc/ssh/sshd_config文件[vi /etc/ssh/sshd_config],开启ssh证书登录,即找到注释配置[#RSAAuthentication yes,#PubkeyAuthentication yes],把前面的“#"号去掉,如:
RSAAuthentication yes
PubkeyAuthentication yes # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
另外在该文件中显示,AuthorizedKeysFile .ssh/authorized_keys,keys存储路径在”.ssh“的文件夹的authorized_keys文件里。
3、在机器master、slave上建立相同的用户,以下以test用户为例
[root@slave ~]# useradd test -p test
[root@slave ~]# echo test | passwd --stdin test
Changing password for user test.
passwd: all authentication tokens updated successfully.
4、生成ssh证书文件
使用test登录master,创建文件夹”.ssh"[mkdir .ssh],cd到.ssh文件夹,输入命令“ssh-keygen -t rsa",回车到底,如:
[test@master .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):[回车]
Enter passphrase (empty for no passphrase):[回车]
Enter same passphrase again:[回车]
Your identification has been saved in /home/test/.ssh/id_rsa.
Your public key has been saved in /home/test/.ssh/id_rsa.pub.
The key fingerprint is:
e4:37:20:54:19:26:d0:39:34:b3:79:cb:00:6b:c9:e5 test@master
The key's randomart image is:
+--[ RSA 2048]----+
| o+Bo+o |
| . B+B. |
| = E.+ |
| . B o |
| S o |
| . . |
| |
| |
| |
+-----------------+
[test@master .ssh]$
查看”.ssh“文件夹下文件,产生master的文件私钥id_rsa和公钥id_rsa.pub:
[test@master .ssh]$ ls
id_rsa id_rsa.pub
使用test登录slave,相同操作,产生产生slave的文件私钥id_rsa和公钥id_rsa.pub
5、合并id_rsa.pub,追加到authorized_key文件中
test登录master, 在“.ssh”文件夹下,输入命令“scp id_rsa.pub test@slave:~/.ssh/authorized_keys”,拷贝master的公钥id_rsa.pub到slave的.ssh/authorized_keys。
[test@master .ssh]$ scp id_rsa.pub test@slave:~/.ssh/authorized_keys
The authenticity of host 'slave (192.168.1.102)' can't be established.
ECDSA key fingerprint is b5:9e:ca:16:64:66:08:3b:9b:f4:be:5b:9f:f2:fc:a7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'slave,192.168.1.102' (ECDSA) to the list of known hosts.
test@slave's password:
id_rsa.pub 100% 395 0.4KB/s 00:00
[test@master .ssh]$
test登录slave,在“.ssh”文件夹下,输入命令“cat id_rsa.pub >> authorized.keys”,把slave的公钥id_rsa.pub追加到slave的authorized_keys文件。检查文件“authorized_keys”,内容如下:
ssh-rsa ******OfQi3v6lxMGIv/VWgcK5EaYRilz4/XPAmbjxGpFV8nD/JbTrK36v1zsx6TmyckIEfoHU9FvuQoJapxhH/bBSsXix2EWv8UsOCyp test@master
ssh-rsa ******knrMMPON0FrTnjhv3hS5ZAPCEad36ah5lyeOtix2Sr2ug0YP6Ai0iT6Jd04hcUAKF21PBMybvlBYxzAfEr5vBxNBp2Ijwlvp1zP test@slave1
注:因文件太长省略,用“******”代替
在slave的“.ssh”文件夹下,复制authorized_keys到master的test,命令“scp authorized_keys test@master:~/.ssh/",此时,master “.ssh”文件夹下,已经存在与slave相同的authorized_keys文件
6、测试登录
在master,test用户登录的情况下,输入“ssh slave”
在slave,test用户登录的情况下,输入“ssh master”
如在每次ssh登入时需要输入密码,跟没有配置免密登陆时一样情况,需要需改.ssh文件夹访问权限,分配权限为登陆用户
假设无法登陆master,则需要在master上做以下操作
[root@master ~]# chown test: /home/test/.ssh
[root@master ~]# chown test: /home/test/.ssh/*
[root@master ~]# chmod 700 /home/test/.ssh
[root@master ~]# chmod 600 /home/test/.ssh/*
centos 7 免密登录的更多相关文章
- centos配置免密登录
一.准备工作 1.先准备两台centos机器.例如:192.168.1.100和192.168.1.101两台机器,配置101免密登录100 2.默认centos会自带ssh和stfp,机器未安装,请 ...
- centos做免密登录
CentOS 6.9 SSH配置用户免密码登录 1. 演示环境: 192.168.1.144:CentOS 6.9 x86_64 192.168.1.146:CentOS 7.4 x86_64 2. ...
- CentOS配置SSH免密登录
假如我们有两台CentOS机器,192.168.199.101,192.168.199.102,要想在101上远程连接102可以通过ssh命令来实现 ssh 192.168.199.102 如果没有配 ...
- CentOS下SSH远程免密登录服务器
.5服务器上配置,通过ssh远程免密登录192. 1.安装SSH,此处省略 2.生成公钥和私钥,生成的秘钥默认在/root/.ssh/文件夹里面 [root@localhost ~ ::&&a ...
- Centos服务器ssh免密登录以及搭建私有git服务器
一.概述 服务器的免密登录和git服务器的搭建,关键都是要学会把自己用的机器的公钥添加到服务器上,让服务器“认识”你的电脑,从而不需要输入密码就可以远程登录服务器上的用户 免密登录当然是登录root用 ...
- centos修改启动顺序,登录后提示,启动级别,主机名,免密登录
修改启动顺序 # vim /etc/inittab ....... d:3:initdefault: #找到这一行,d:3:initdefault:最小化启动 d:5:initdefault:图形界 ...
- CentOS 配置远程主机ssh免密登录
ssh针对的是用户不是机器,同一机器不同用户需要单独配置ssh,才能实现该用户的免密登录 cd ~ cd ./.ssh 在./ssh目录下生成公钥与私钥(如果没有.ssh先使用ssh命令连接到一台远程 ...
- Linux/(centos、unix等)的ssh双向免密登录原理和实现
原理: 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录. 双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他 ...
- 【Linux】ssh免密登录
一.ssh免密配置 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例.有机器A(192.168.1.155),B(192.168. ...
随机推荐
- HTML+CSS之background
第一个专题--background属性 今天写一下background属性,具体如下: 1.background-color:默认值:transparent,这是我们在做网页时,经常使用的属性,较为简 ...
- PWA需要的技术
1 Manifest https://developer.mozilla.org/zh-CN/docs/Web/Manifest 2 Service Work ...
- python开发day03
一.常见的数据类型 1. int ==> 整数. 主要⽤用来进⾏行行数学运算 \ (常见的操作有+-*%) a.bit_length() a= # 10进制 二进制 100 print(a.b ...
- django的url分配和url捕获参数
django的url分配 一般视图模块(views.py)都放在自己所属的app目录下,在app目录下新建路径模块(urls.py),由app目录下的urls.py来分配当前app的路径. 在app目 ...
- jsp中的include静态包含与动态包含,
d动态包含与静态包含的最大区别是 静态包含:<%@ include file = "文件名.jsp"%>,在<body>的标签外定义.在没有编译的时候,两个 ...
- Js 模式匹配
模式匹配: 什么是模式匹配:可以设置查找或替换的规则! 何时使用模式匹配:要查找的关键字可能发生有规律的变化. 如何使用模式匹配: 1.先定义模式:/关键字/模式 比如:var reg=/no/i; ...
- hostswap dcevm
什么是dcevm dcevm(DynamicCode Evolution Virtual Machine)是java hostspot的补丁(严格上来说是修改),允许(并非无限制)在运行环境下修改加载 ...
- Gravitee.io alert 引擎架构
alert 在我们的实际开发中应用的场景很多,我们需要进行系统状态的查看,以及特殊异常请求的处理 参考架构图 从下图可以看出,还是很方便的,同时支持slack email... 的实时消息通知,而且我 ...
- Debug outlook add-in (office.js) 小技巧
这几天在使用office.js 做outlook add-in的时候出现了一个问题: 不知道运行时去调试. 这里给大家介绍两个调试add-in 的方法. office365 其他软件 add-ins ...
- webpack 3 升级到 webpack 4,遇到问题解决
报错:Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead 解 ...