多机器ssh免密码登录的教程,网上有很多,多的数不过来,但是我的安装过程不是很顺利,因为刚开始使用的是普通的user,虽然配置了sudo权限,但是没有root权限,导致了无论如何配置都不能实现免密码登录。最后使用root账号操作了一次,顺利成功。

实现多个机器的ssh免密码登录的核心思想是把每一个机器的rsa公钥集中到一个文件中,并且把这个文件分发到所有的机器上面去。

本文中的机器有三个,如下所示:

172.16.129.8 master
172.16.129.12 slave1
172.16.129.13 slave2

具体操作如下(基于root用户):

Step 1:在master机器上面新建.ssh目录,产生rsa秘钥

master> cd /root

master> mkdir .ssh

master> cd .ssh

master> ssh-keygen -t rsa //之后一路回车,产生秘钥

master> cp id_rsa.pub authorized_keys

Step 2:在slave1机器上面新建.ssh目录,产生rsa秘钥,把master机器上面的authorized_keys拷贝到slave1机器上面

slave1> cd /root

slave1> mkdir .ssh

slave1> cd .ssh

slave1> ssh-keygen -t rsa //之后一路回车,产生秘钥

master> scp authorized_keys slave1:/root/.ssh //注意这个操作是在master机器上面完成的

slave1> cat id_rsa.pub>>authorized_keys

Step 3:在slave2机器上面新建.ssh目录,产生rsa秘钥,把slave1机器上面的authorized_keys拷贝到slave2机器上面

slave2> cd /root

slave2> mkdir .ssh

slave2> cd .ssh

slave2> ssh-keygen -t rsa //之后一路回车,产生秘钥

slave1> scp authorized_keys slave2:/root/.ssh //注意这个操作是在slave1机器上面完成的

slave2> cat id_rsa.pub>>authorized_keys

Step 4:把slave2机器上面的authorized_keys同步到master和slave1上面

slave2> scp authorized_keys master:/root/.ssh

slave2> scp authorized_keys slave1:/root/.ssh

到目前为止,就可以在每一个机器上面ssh访问另外两个机器了,第一次ssh的时候需要输入yes进行确认。

在一个shell中进行多机器切换:

假设当前在master机器上面,已经ssh到了slave1上面,那么如何在shell中回到master上面呢?如果想再次ssh到slave1上面,如何利用之前的ssh连接呢?

从slave1回到当前机器master:

输入~,之后按下CTRL + Z。注意:输入的~是不可见的。

在master中查看当前所有的ssh连接:

master> jobs

快速进入slave1机器:

mster> fg %1

好了,这样就可以轻松地管理多个linux机器了。

Linux多个机器配置ssh免登陆的更多相关文章

  1. Linux多台机器配置ssh免登录

    .安装ssh. sudo apt-get install ssh. 安装完成后会在~目录(当前用户主目录,即这里的/home/xuhui)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件). ...

  2. Linux2 在Linux(CentOS)上配置SSH免登陆

    前言:      本文主要是我在安装hadoop之前,需要先配置SSH免登陆.通过网上搜索,发现不少类似的资料,但多少都有些小问题,所以结合自己的实践,记录在此,作为参考.如果能帮助到其他人,自然是更 ...

  3. Centos 集群配置SSH免登陆脚本

    首先编写脚本生成集群服务器列表: hostsList.sh #!/bin/bash preIp="11.11.225." pwd="dyj2017" for i ...

  4. linux(十)配置ssh免密登录实现

    知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...

  5. hadoop集群配置SSH免登陆

    今天给大家总结一下hadoop集群之间免登陆的步骤 node1 ssh node4 1.在node1中生成密钥 [root@node1 ~]# ssh-keygen -t dsa -P '' -f ~ ...

  6. 【Linux】配置SSH免密登录

    环境说明 假设我们有三台机器分别为bigdata111,bigdata112,bigdata113,三台机器均为centos 7系统. 配置SSH免密登录 (1)利用Xshell的发送键输入到所有会话 ...

  7. 集群中配置多台机器之间 SSH 免密码登录

    集群中配置多台机器之间 SSH 免密码登录 问题描述 由于现在项目大多数由传统的单台机器部署,慢慢转变成多机器的集群化部署. 但是,这就涉及到机器间的 SSH 免密码互通问题. 当集群机器比较多的时候 ...

  8. Linux配置SSH免密码登录

    CentOS配置SSH免密码登录为例说明:SSH远程登录的安全外壳协议有两种身份认证机制: - 用户名+密码 -密钥登录 环境准备 host1:192.168.0.10host2:192.168.0. ...

  9. Linux - 配置SSH免密通信 - “ssh-keygen”的基本用法

    目录 1 什么是SSH 2 配置SSH免密登录 2.1 安装必需的软件 2.2 ssh-keygen创建公钥-私钥对 2.3 ssh-copy-id把A的公钥发送给B 2.4 在A服务器上免密登录B服 ...

随机推荐

  1. 【微服务架构】SpringCloud之Feign(五)

    Feign简介 Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Fei ...

  2. Android-什么时候用ScrollView

    什么时候用 ScrollView ? 答:像以下这种情况,就是使用ScrollView: 摆放无顺序,无规律,并会超出屏幕的高度,就可以用ScrollView 错误的ScrollView示范,Scro ...

  3. [LeetCode 题解]: Minimum Depth of Binary Tree

    Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...

  4. BlockingCollection 集合随记

    BlockingCollection 集合是一个并发安全的集合,而且设计用来实现类似于消息队列的功能,生产者.消费者模式. static void Main(string[] args) { Bloc ...

  5. 使用SqlBulkCopy进行批量插入数据时踩过的坑

    之前一直都没用过SqlBulkCopy关键字进行数据插入,更没了解过. 事因:因业务需要在数据表中添加两列,然后将数据插入进表中 之前都是这样写的 dt.Columns.Add(new DataCol ...

  6. WPF WebBrowser+TabControl MVVM模式 简单应用 提供源码下载

    源代码下载 这个程序是TabControl和Webbrowser的练手小程序 可达到练手目的有: MVVM设计模式的基本使用 Binding(包括相对源[RelativeSource]绑定)的基本使用 ...

  7. input 实现onchange效果

    $(".selected input").on('input',function(e){ cc.search(); });

  8. CVE-2012-2122-Mysql身份认证漏洞及利用

    一.漏洞简介 当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的.按照公告说法大约 ...

  9. [AIR] AIR将数据保存并导出为Excel

    package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.filesystem.File; ...

  10. NSUserDefault存储类

    类要实现NSCoding协议 实现encodeWithCoder和initWithCoder方法 先把类的instance archive成NSData,然后存起来 TGTest *tt = [TGT ...