linux两台机器间实现无密远程登录(使用证书)
思路分析:
比如有两台主机,192.168.0.69,192.168.0.70。其中192.68.0.69上安装有ansible,为了使用ansible进行自动化运维,我们需要实现192.168.0.69向其他其他主机的单向ssh免密登录。
(单向ssh免密登录:192.168.0.69主机可以使用ssh免密登录到其他主机上,但其他主机不能使用ssh免密登录到192.168.0.69)
为了实现此功能。
我们需要在192.168.0.69上,生成密钥对(公钥id_rsa.pub,私钥id_rsa),然后将公钥追加到授权文件authorized_keys中
192.168.0.69:
192.168.0.70:
这里有个坑:
authorized_keys 这个文件的权限必须是600(,就算是644 也不行),否则无法由69免密登录到70
下面本为正式开始:
linux两台机器间使用无密远程登录(使用证书),以CentOS7为例
默认linux两台机器间使用密码远程登录:
ssh ip或ip映射地址
输入远程机器的密码
(/root/下默认是没有.ssh文件夹的,在上面使用ssh命令后,将自动生成 /root/.ssh目录)
如何简化,实现不需要密码就能远程登录?下面开始详细讲解:
两台机器的ip:
192.168.55.249
192.168.55.251
在249这台机器上执行命令
(1) 生成密钥对:公私钥(id_rsa 是私钥,id_rsa.pub是公钥)
ssh-keygen -t rsa # 一直回车即可
(2) 查看 /root/.ssh/ 下生成情况
cd /root/.ssh
ll -a
(3) 将公钥追加到授权文件中
cat id_rsa.pub >> authorized_keys
(4) 可以查看里面追加的公钥 --- 这一步不想查看可忽略
more authorized_keys
(5) 将 249 中的公钥复制到 251那台机器上
ssh-copy-id -i 192.168.55.251 #若192.168.55.251设置了映射地址,使用映射地址也行,eg: ssh-copy-id -i hadoop2
(下面可不做)
可在251那台机器上查看一下,authorized_key中的公钥信息,可发现和249那台的一样
(6) 验证一下
ssh 192.168.55.251
# 或 ssh hadoop2 (设置该ip的映射地址为hadoop2的话,vi /etc/hosts 进行设置)
此时,249已经能无密登录251了。
-----------------------------------------------
251若想能无密登录249,只需要在251那台机器上把上面代码执行一遍即可(即生成251那台机器的密钥对,把公钥添加到249那台机器的授权文件中)
251那台机器上:
ssh-keygen -t rsa
cat id_rsa.pub >> authorized_keys
more authorized_keys
ssh-copy-id -i 192.168.55.249
ssh 192.168.55.249
遇到的大坑:
配置ssh免密码登录后,仍提示输入密码
解决方法:
首先我们就要去查看系统的日志文件
tail
/var/log/secure
-n 20
发现问题的所在:Authentication refused: bad ownership or modes for directory /root
<1>再查看不能正常免密登陆的主机的 root目录 权限:drwxrwxrwx. 6 root root 217 Jul 26 10:26 root
<2>而能正常免密登陆的主机的 root目录 权限:drwxr-xr-x. 6 root root 4096 Jul 26 10:28 root
从日志暴露的问题分析:字面上可以看出是目录的属主和权限配置不当,对比<1>、<2>得知:SSH不希望root目录对组有写权限,通过下面命令改下
cd /
chmod 755 root (此时root目录权限变为:drwxr-xr-x )
然后我们再去登录,就能不用密码进入了。
[root@master /]# ssh master
Last login: Thu Jul 26 12:03:02 2018 from 192.168.0.150
[root@master ~]#
linux两台机器间实现无密远程登录(使用证书)相关推荐
- 两台linux之间创建共享文件夹,linux 两台机器间挂载共享
安装snf服务 1.文件挂载时需要使用SNF服务,所以需要检查自己机器是否开启或安装此服务 service nfs status 如果结果 nfs:unrecongnizedservice 说明服务没 ...
- 使用git在两台机器间同步代码
来源:http://blog.csdn.net/elloop/article/details/54898512 前言 本文记录了如何使用Git来在两台机器间同步代码,一台机器是Linux,另一台是wi ...
- linux两台服务器传输,Linux两台服务器之间高速数据传输命令:scp应用详解
Linux两台服务器之间高速数据传输命令:scp应用详解 Linux scp命令用于Linux之间复制文件和目录到另外一台,这个命令在多台服务器之间传输还是非常有用的,速度也是非常快的.比window ...
- linux同步某台服务器,linux 两台服务器之间开机自动同步指定目录下的文件
linux 两台服务器之间开机自动同步指定目录下的文件 服务器B(172.17.166.11)上开机或者重启会自动拉取服务器A(172.17.166.10)上指定目录下所有文件 1.创建服务器B到服务 ...
- 两个服务器组虚拟机,linux 两台虚拟机
linux 两台虚拟机 内容精选 换一换 在虚拟机完成安装配置后,可执行如下操作获取Linux镜像文件.打开VirtualBox,选中新创建的虚拟机,选择"设置 > 存储", ...
- linux服务器拷贝目录文件夹,linux两台服务器之间文件/文件夹拷贝
linux两台服务器之间文件/文件夹拷贝 跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹--------------------------------- ...
- Linux两台主机之间建立信任关系
Linux两台主机之间建立信任关系 一般用ssh命令访问另一台机器,或者用scp命令从别的机器拷贝数据和文件,都要输入对应账户的密码.而在两台机器之间建立信任关系,则可以省略输入密码的过程. 一 : ...
- Linux 两台主机之间建立信任关系方式及基本原理
前言: 去年学过一段时间的现代密码学,最近在配置github, Linux主机之间建立信任关系的时候都用到了其中一些知识,所以刚好整理一下,想直接看操作方式的可直接拉到下面 密码学基本知识 一 现代密 ...
- plc怎么与服务器无线通讯,两台PLC之间如何实现远程通讯
原标题:两台PLC之间如何实现远程通讯 硬件配置: (1)远程模块:云远程适配器(PLC侧):云RCD接入模块(上位机侧) (2)H05兼容型PLC(兼容西门子S7-200,自带一个网口,可以通过以太 ...
最新文章
- 2018年英语计算机职称考试,2018年职称计算机考试报考指南大全
- 洛谷 P1615 西游记公司
- 人工智能python基础知识_AI 人工智能基础知识-习题
- python ssh模块stdout.read 和recv_paramiko SSH 模块简单应用。
- Hotmail的2G邮箱被收回,只剩250M了
- 老计算机教师,老教师能用好信息技术吗?
- Javascript--闭包引起的IE内存泄露(转载)
- 书单丨刷完这5本题库,妈妈再也不用担心我的面试
- java容器取交集、并集、补集、差集示例
- 【模拟】Workout for a Dumbbell
- python会自动释放内存吗_没白熬夜,终于把Python的内存管理机制搞明白了
- spss因子分析结果解读_【SPSS数据分析】SPSS聚类分析(R型聚类)的软件操作与结果解读 ——【杏花开生物医药统计】...
- Taro使用wxParse富文本组件
- 近视矫正手术:准分子激光,飞秒,全飞秒
- 黄素单核苷酸小麦麦清白蛋白纳米粒|石杉碱甲乳清白蛋白纳米粒Huperzine-whey protein|化学试剂
- 时间序列度量算法之SBD
- 构建OctoberCMS插件:Google Analytics(分析)
- 数字化是新物流的基础
- Power BI数据建模
- Unbound classpath container: ‘JRE System Library’已解决