一.主机互信原理
两个主机之间ssh登录需要提示输入对方的密码,当频繁需要登录操作时,可以通过linux公钥和秘钥,建立双机信任关系。
把你源主机的公钥文件内容追加到目的主机对应用户下的authorized_keys文件中(如果没有这个文件,则创建一个)

二.操作流程

两台主机分别是node1的ip是1192.168.37.8,node2的ip是192.168.37.9
1. 生成秘钥(两台主机分别操作)

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa              #生成rsa

1) node1节点操作 - 生成密钥

[root@node1 ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa   #node1节点生成密钥
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:1RzOG0HzkXAAZz6YdYMp6vgGev0zzv3zzM3VF5cKb30 root@node1
The key's randomart image is:
+---[RSA 2048]----+
| .o@==. |
| .%oB.o |
| .+.O . |
| .. + .|
| oS .. o.|
| o . o o +|
| . + + .E|
| . . +.o.. .+=|
| . . o+o...o*|
+----[SHA256]-----+
[root@node1 ~]#

2) node2节点操作 -生成密钥

[root@node2 ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa   #node2节点生成密钥
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:9mRYbTPIQ3pSYwdMO5/byswezu7uicSAF9AJAxPisqU root@node2
The key's randomart image is:
+---[RSA 2048]----+
| . +o+o +B.. |
| . . . oo*.* |
|. o + O = |
| = . * = + |
|E . S o o |
| o * o |
| + o . |
| . B + |
| .*# |
+----[SHA256]-----+
[root@node2 ~]#

2.信任主机操作(两台主机分别操作)

ssh-copy-id -i  ~/.ssh/id_rsa.pub root@对方ip

1) node1节点设置互信

[root@node1 ~]# ssh-copy-id -i  ~/.ssh/id_rsa.pub root@192.168.37.9  #复制37的公钥到38机器上,这样就可以使用在37机器上免密码登录38机器了。
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.37.9's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@192.168.37.9'"
and check to make sure that only the key(s) you wanted were added. [root@node1 ~]#

2) node2节点设置互信

[root@node2 ~]# ssh-copy-id -i  ~/.ssh/id_rsa.pub root@192.168.37.8  #复制node2的公钥到node1机器上,这样就可以使用在node2机器上免密码登录node1机器了
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.37.8's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@192.168.37.8'"
and check to make sure that only the key(s) you wanted were added. [root@node2 ~]#

3.测试ssh机器免密

1) node1节点访问node2

[root@node1 ~]#
[root@node1 ~]# ssh 192.168.37.9
Last login: Wed Oct 13 22:13:07 2021 from 192.168.37.8
[root@node2 ~]#

node2节点访问node1

[root@node2 ~]# ssh 192.168.37.8
Last login: Mon Sep 20 18:30:35 2021 from 192.168.37.9
[root@node1 ~]#

linux主机互信操作的更多相关文章

  1. python的paramiko模块-远程登录linux主机并操作

    paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作. 如果python服务器对被远程控制机器开启了免密验证,即在python服务器上可通过ssh 用户名@被控制机 ...

  2. 使用SSH客户端远程登录Linux主机

    使用SSH客户端远程登录Linux主机(可替代samba.ftp服务) . Linux系统起初就是为多用户而产生的,可以允许多个用户同时登录linux主机各自进行操作,如图1所示: 图1 SSH(Se ...

  3. 远程操作Linux主机

    通过putty文件访问: 下载路径:https://the.earth.li/~sgtatham/putty/0.70/w32/putty-0.70-installer.msi 通过Python文件执 ...

  4. Linux主机上使用交叉编译移植u-boot到树莓派

    0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...

  5. Linux简单指令操作

    Linux CentOS运维中,常用的操作和命令记录下: 1.DNS设置 在Linux服务器上,当我们ping出现这个错误时:ping: unknown host,很大可能是系统的DNS没有设置或者设 ...

  6. Linux主机上实现树莓派的交叉编译及文件传输,远程登陆

    0.环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS:官网下的的raspb ...

  7. Linux主机共享目录给Windows主机的方法

    Linux主机共享目录可以通过samba来实现 首先,来看下百科上关于samba的介绍: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Ser ...

  8. 远程联机linux主机

    远程联机linux主机 推荐使用 ssh  如 ssh user@www.abc.com(ssh使用公钥+私钥非对称加密,数据传输安全,不要使用telnet) 传输文件:sftp 或者 scp 若想使 ...

  9. 如何修改Linux主机名

    Linux 下什么都比较麻烦,就连修改主机名也不例外.我们就下文说一下具体方法. Linux 安装好后,其默认的主机名是 localhost.修改 Linux 主机名需要3步. 使用 hostname ...

随机推荐

  1. k8s笔记0528-基于KUBERNETES构建企业容器云手动部署集群记录-2

    三.ETCD集群部署 类似于走zookeeper集群分布式协调服务,可做以key v形式存储在ETCD中. 官方链接:https://github.com/coreos/etcd 分布式kv存储,为分 ...

  2. chrome插件开发学习(一)

    两个不错的网址: 360chrome插件开发文档:http://open.chrome.360.cn/extension_dev/manifest.html 图灵 chrome插件开发于应用 电子书: ...

  3. JVM-调优-命令

    目录 jps 命令格式 option参数 示例 jstat 命令格式 参数 option 参数总览 option 参数详解 -class -compiler -gc -gccapacity -gcut ...

  4. Mybatis-基本学习(下)

    四,MAP的使用--超常用 思考:多表连接查询怎么做?---MAP的好处!---返回List

  5. qGPU on TKE - 腾讯云发布下一代 GPU 容器共享技术

    背景 qGPU 是腾讯云推出的 GPU 共享技术,支持在多个容器间共享 GPU卡,并提供容器间显存.算力强隔离的能力,从而在更小粒度的使用 GPU 卡的基础上,保证业务安全,达到提高 GPU 使用率. ...

  6. PHP中命名空间是怎样的存在?(二)

    今天带来的依然是命名空间相关的内容,本身命名空间就是PHP中非常重要的一个特性.所以关于它的各种操作和使用还是非常复杂的,光使用方式就有很多种,我们一个一个的来看. 子命名空间 命名空间本身就像目录一 ...

  7. Orchar Core 创建一个模块化的ASP.NET Core应用程序

    您将构建什么?您将构建一个模块化的ASP.NET Core MVC Web应用程序,类似于Orchard Core附带的示例"Hello World"应用程序.它包括一个Web应用 ...

  8. Nginx系列(4)- Nginx安装 | Windows

    下载 访问官网,选择稳定版对应的Windows系列 安装解压即可 启动nginx 有很多种方法启动nginx 直接双击nginx.exe,双击后一个黑色的弹窗一闪而过 打开cmd命令窗口,切换到ngi ...

  9. Jmeter系类(31) - JSR223(1) | 控件介绍

    JSR233 介绍 JSR223控件执行JSR223脚本代码用于创建/更新所需的某些变量 JSR223可以使用其内置的变量,有助于精简脚本,提高开发测试的效率 由于JSR223脚本编译方式基本相同,J ...

  10. Groovy系列(2)- Groovy与Java的不同之处

    Groovy与Java的不同之处 默认 imports 所有这些包和类都是默认导入的,不必使用显式import语句来使用它们 java.io.* java.lang.* java.math.BigDe ...