先说一下,我用的centos7,root用户。ssh的原理就不说了,网上介绍的文章很多,直接开始说操作步骤吧:

1.首先确认有没有安装ssh,输入 rpm -qa |grep ssh查看

这样就表示安装了ssh,没有的话就先安装ssh

2.关闭防火墙

首先查看防火墙的状态,运行 systemctl status firewalld.service

由于我这里已经关闭了防火墙,所以线框中的状态Active位inactive状态,开启状态下为running。永久关闭防火墙、禁止开机自启动的指令为 systemctl disable firewalld.service(centos7下是该指令,其它系统可能有所区别),关闭之后可以再重新查看一下防火墙状态,看是否关闭成功。

3.配置静态IP

一般集群中每个服务器都会分配固定的IP地址,这样连接比较方便。配置静态IP时,首先查看服务器的网卡类型,执行命令:ls  /etc/sysconfig/network-scripts,出现如下

可以看到网卡类型为ens33(这个每个人可能不同),然后编辑ifcfg_ens33文件,执行vim  /etc/sysconfig/network-scripts/ifcfg-ens33 ,在配置文件种需要作如下修改(红色方框内位修改后的结果),

由于我测试时用的是局域网,因为DNS服务器地址随便用了一个。

键盘esc+shift+enter,然后输入wq保存文件并退出,然后重启网络 service network restart,这样静态IP地址就配置完成了。

4.修改/etc/hosts文件

    为了每次使用shh指令连接别的主机时不用输入ip地址,可以在host文件中把主机名和ip地址进行映射,这样比较方便。打开host文件 vim /etc/hosts,在文件末尾添加ip与主机名的映射

我这里创建了一个master,两个slave

5.生成公匙、私匙,并移动公匙

    以我自己的机器为例,假设我需要配置master连接slave1。首先在master机器上生成公匙和私匙,输入ssh-keygen -t rsa,一直回车即可,结果如下

该指令在~/.ssh目录下生成了公钥(id_rsa.pub)和私钥(id_rsa),可以进入该目录下查看 cd ~/.ssh,然后输入指令ls。登陆slave1主机,同样的先在slave1上生成公匙和密匙,执行ssh-keygen -t rsa,一路回车,进入/.ssh目录下,创建authorized_keys文件,然后先把本机slave1的公匙写入到该文件中,cat  ~/.ssh/id_rsa_pub authorized_keys,接下来需要把masterd的公匙复制到slave1上,先把master的公匙随便复制到一个地方,例如/usr下,执行如下指令:scp   root@192.168.0.158:~/.ssh/id_rsa.pub  /usr ,此过程需要输入master上root用户的密码,然后把master的公匙写入到authorized_keys的末尾

cat  /usr/id_rsa_pub  ~/.ssh/authorized_keys,保存并退出文件。

6.修改文件权限

chomd 700 ~/.ssh

chomd 600 ~/.ssh/authorized_keys

 

到此,shh的免密登陆配置完成,可以在master上通过ssh slave1连接slave1主机了。

     

linux服务器间配置ssh免密连接的更多相关文章

  1. Linux多台主机间配置SSH免密登陆

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

  2. ssh免密连接远程服务器

    ssh免密连接远程服务器 借助ssky-keygen和ssh-copy-id工具,通过4个简单的步骤实现无需输入密码登录远程Linux主机 1 生成密钥 通过内置的工具生成RSA算法加密的密钥 ssh ...

  3. 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服 ...

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

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

  5. 记一次Xshell配置ssh免密登录时的问题

    问题: 今天在配置SSH免密登录连接自己的阿里云服务器,在将RSA加密生成的公钥放到服务器后,用Xshell连接服务,出现所选的用户密钥未在远程主机上注册这样的提示,一时懵逼,不知所措,后面终于找到了 ...

  6. Ubuntu16.04下配置ssh免密登录

    Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...

  7. 配置ssh免密登录遇到的问题——使用VMware多虚拟机搭建Hadoop集群

    搭建环境: 虚拟机 VMware12Pro      操作系统  centos6.8        hadoop 1.2.1 1.导入镜像文件,添加java环境 1.查看当前系统中安装的java,ls ...

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

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

  9. Linux 设置秘钥登录(SSH免密连接)

    Secure Shell 协议,简称 SSH,是一种加密网络协议,用于客户端和主机之间的安全连接,并支持各种身份验证机制,目前最实用的身份验证机制就是基于密码的身份验证和基于公钥的身份验证两种.Lin ...

随机推荐

  1. linunx常用命令综合

    # linux常用命令exsi 6.5虚拟化系统命令大全 https://www.runoob.com/linux/linux-command-manual.html# sudo -i 设置切换无密码 ...

  2. 在VC6.0下运行C语言程序,以及编程入门必备的常识类小知识!

    今天给大家分享在VC6.0环境下编写C语言程序的基本步骤,为初学者打开学习C语言的第一道门.具体步骤如下(如果需要软件资源,可以留言): 1)新建工作区 依次点击 文件--新建--工作区 或是Ctrl ...

  3. Go语言中Goroutine与线程的区别

    1.什么是Goroutine? Goroutine是建立在线程之上的轻量级的抽象.它允许我们以非常低的代价在同一个地址空间中并行地执行多个函数或者方法.相比于线程,它的创建和销毁的代价要小很多,并且它 ...

  4. java 保留小数点后指定位数四种方法

    1 package com.itheima_01; 2 3 import java.math.BigDecimal; 4 import java.text.DecimalFormat; 5 impor ...

  5. git学习(十) idea git reset 操作

    git reset 是回滚操作,在 idea 中使用如下: Reset Type 有三种: Mixed 默认方式,只保留源码,回退 commit 和 index 信息 Soft 回退到某个版本,只回退 ...

  6. GDB使用checkpoint复现bug

    今天面试被问到一个问题,如何调试多进程的程序,我回答gdb attach [pid],之后又问如果程序中有些数据读取不对,但这种现象是偶然发生的,这时候要怎么操作,当时就懵了......,通过查找资料 ...

  7. git学习(二) git的文件状态

    git的文件状态 用于查看git的状态 git status 用于git文件的删除操作 git rm 如果只是 git rm --cache 仅删除暂存区里的文件: 如果不加--cache 会删除工作 ...

  8. win10使用U盘安装Linux系统教程

    win10安装Linux系统详细教程 目前想要再Windows系统上安装Linux系统有三种方式:其一是安装在虚拟机上(VMWare或者VirtualBox),其二是使用win10最新支持的Linux ...

  9. JS-根据身份证获取 出生日期和性别

    一.根据身份证获取出生日期和性别/** * 根据身份证获取出生日期(yyyy-MM-dd) * @param psidno * @returns {birthday:yyyy-MM-dd} * @co ...

  10. 设计模式 | 职责链模式(Chain of responsibility)

    定义: 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这个对象连城一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. 结构:(书中图,侵删) 一个抽象的处理者 若干 ...