两台 Linux 主机之间配置信任关系(以及如何解除)
主机之间的 ssh 信任,简单地说,就是主机之间使用 ssh 命令登录主机不需要密码。
一、主机之间配置信任关系
将主机 A (47.100.247.242) 作为信任主机,主机 B(101.132.242.27) 作为远程主机,配置实现主机 A 免密登录到主机 B,主要步骤如下:
- 在主机 A 中产生相应的私钥和公钥(id_rsa 和 id_rsa.pub)
[testuser@cloudgw ~]$ pwd
/home/testuser
[testuser@cloudgw ~]$ ssh-keygen -t rsa
输入命令后,一路回车即可。
- 在主机 A 中添加自己的私钥
[testuser@cloudgw ~]$ cd .ssh/
[testuser@cloudgw .ssh]$ ssh-add id_rsa
Identity added: id_rsa (id_rsa)
备注: 如果提示 Could not open a connection to your authentication agent,终端做如下操作:
[testuser@cloudgw .ssh]$ ssh-agent bash
[testuser@cloudgw .ssh]$ ssh-add id_rsa
- 将主机 A 中的公钥 id_rsa.pub 拷贝到主机 B 的 .ssh目录下
[testuser@cloudgw .ssh]$ scp id_rsa.pub 101.132.242.27:~/.ssh/
- 在主机 A 上远程执行命令,在主机 B 上生成认证文件
[testuser@cloudgw .ssh]$ ssh 101.132.242.27 'cat .ssh/id_rsa.pub >> .ssh/authorized_keys'
备注:两台主机登录用户名相同的情况下,ssh 命令可以缺省用户名。若指定用其他用户名登录,只需指定用户名即可,即 ssh testuser1@101.132.242.27。
- 登录主机 B,将 authorized_keys 改为只有当前用户有读写权限
[testuser@iZuf6crxor2b7uwzq9sutyZ ~]$ pwd
/home/testuser
[testuser@iZuf6crxor2b7uwzq9sutyZ ~]$ cd .ssh/
[testuser@iZuf6crxor2b7uwzq9sutyZ .ssh]$ ls
authorized_keys id_rsa.pub known_hosts
[testuser@iZuf6crxor2b7uwzq9sutyZ .ssh]$ chmod 600 authorized_keys
如上操作完成之后,主机 A 就可以免密登录到主机 B 了。想让 A、B 机无密码互登录,那 B 机以上面同样的方式配置即可。
扩展:若需要设置主机 A 也能同时免密登录其他多台主机,只需重复操作上述步骤 3-5 即可,或在主机 A 上先生成认证文件,修改文件权限后,再将认证文件 scp 到其他服务器。
二、解除信任关系
如何解除两台主机之间的信任关系呢?操作很简单,把密钥删掉是不行的,可以在主机A上如此操作:
[testuser@cloudgw ~]$ cd ~/.ssh
[testuser@cloudgw ~]$ vi known_hosts
把 known_hosts 中关于主机 B 的那行删掉即可。
三、原理
- 在主机 A 上生成公钥、私钥。
- 将公钥拷贝给主机 B。
- 主机 A 向主机 B 发送一个连接请求。
- 主机 B 得到主机 A 的信息后,在 authorized_keys 中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用主机 A 的公钥加密,发送给主机 A。
- 主机 A 得到主机 B 发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给主机 B。主机 B 将收到的字符串和生成的字符串进行对比,如果一致,则允许免密登录。
总之:A 要免密登录到 B,B 首先要拥有 A 的公钥,然后 B 要做一次加密验证。对于非对称加密,公钥加密的密文不能用公钥解开,只能用私钥解开。
文章参考:
- 两台Linux机器之间配置信任关系(以及如何解除)
- Linux多台主机批量执行命令
两台 Linux 主机之间配置信任关系(以及如何解除)相关推荐
- 两台Linux主机之间文件传输的几种方式
Linux文件传输的五种方式 FTP : FTP是文件服务器,可实现文件的上传下载,存储等功能,但本文不打算介绍ftp的使用. scp: scp能够将不同主机的文件进行相互传输,使用简单方便. rz ...
- Linux 两台主机之间建立信任关系方式及基本原理
前言: 去年学过一段时间的现代密码学,最近在配置github, Linux主机之间建立信任关系的时候都用到了其中一些知识,所以刚好整理一下,想直接看操作方式的可直接拉到下面 密码学基本知识 一 现代密 ...
- 两台Linux系统之间传输文件的几种方法
scp传输 当两台LINUX主机之间要互传文件时可使用SCP命令来实现 scp传输速度较慢,但使用ssh通道保证了传输的安全性 复制文件 将本地文件拷贝到远程 scp 文件名 –用户名@计算机IP或者 ...
- Linux两台主机之间建立信任关系
Linux两台主机之间建立信任关系 一般用ssh命令访问另一台机器,或者用scp命令从别的机器拷贝数据和文件,都要输入对应账户的密码.而在两台机器之间建立信任关系,则可以省略输入密码的过程. 一 : ...
- 以两台Linux主机在docker中实现mysql主主备份以用nginx实现mysql高可用
使用nginx反向代理主主备份的两台mysql,连接时连接nginx,当其中一台myql停止后,仍然可以正常使用,如果使用k8s 会简单许多.所谓主主复制就是在主从复制的基础上掉了个头. 请博主买块糖 ...
- Linux主机之间建立信任 公钥私钥 ssh免密登录 一台主机直接控制另一台主机执行命令
工作中有时我们需要用一台服务器去控制另一台服务器执行命令,或者将一些文件拷贝到另一台服务器上,但是这种操作指令默认是需要输入密码的,如果频繁操作的话就会很麻烦,或者如果用代码控制服务器执行命令时需要密 ...
- Linux主机之间配置免密登录
需求:linux主机上配置免密登录其他服务器 系统环境:centos7 主机A:192.168.149.150 主机B:192.168.149.153 示例:在主机A上配置免密登录主机B 1.主机A上 ...
- 如何在同一个局域网内实现简单的两台Linux主机互相连接
文章目录 二.配置步骤 二.配置步骤 试验前准备: vmware内创建两个虚拟机 两台虚拟机确保连着同一个网络 可以适用于两个朋友之间相互连接虚拟机使用,下面的步骤一样的. 1.首先我们将两台虚拟机的 ...
- clockdiff-检测两台linux主机的时间差
概述 在IP报文的首部和ICMP报文的首部都可以放入时间戳数据,clockdiff程序是使用时间戳来测算目的主机和本地主机的系统时间差. 选项 -o 使用IP时间戳选项来测量系统时间差.时间戳只用3个 ...
最新文章
- VirtualBox上装CentOS5.8网络不通问题
- 开启注册丨EMNLP 2021论文预讲会,邀你一起共赏自然语言处理学术盛宴(日程全公开)...
- activiti no processes deployed with key
- predicate java_java8中predicate的用法介绍(代码示例)
- 单个正态总体均值的区间估计_假设检验09---单个正态总体参数的假设检验
- 真的不值得重视吗?ETH Zurich博士重新审视贝叶斯深度学习先验
- 函数-函数的基本组成
- php生成图片验证码-附五种验证码
- PG git pull
- 区块链上智能合约的讲解
- sql过滤代码段_如何创建和管理T-SQL代码段
- SQL夯实基础(九)MySQL联接查询算法
- Julia : string =Int,Float
- android 腾讯云聊天,腾讯云视频通话
- 巨杉数据库MySQL_【SequoiaDB】5 巨杉数据库SequoiaDB基本操作
- gridcontrol 添加行删除行
- matlab中contourm,MATLAB 中contour函数的使用
- 第十届蓝桥杯省赛题解+代码
- win10系统.android是什么文件夹,d盘文件不见了怎么恢复?Windows10增加安卓程序运行...
- 阳光照耀2019:手机江湖的规则交替时刻