先说一下,我用的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. JSX 详解

    一 jsx 的本质是什么? jsx是语法糖,需要被编译成js才能运行. jsx 看似是html 结构,实质是js结构的语法糖,在代码编译阶段被编译成js结构.所以jsx的本质可描述为看似html结构的 ...

  2. .NET Core+MongoDB集群搭建与实战

    目录 安装 MongoDB apt 直接安装(方法1) apt 仓库安装(方法2) 方法1.2启动 MongoDB 通过二进制包安装(方法3) 安装依赖 deb 安装 MongoDB tgz 安装 M ...

  3. Go 安装配置golint

    原文链接:http://zhoubotong.site/post/3.html一. Golint介绍 Golint 是一个源码检测工具用于检测代码规范 Golint 不同于gofmt, Gofmt用于 ...

  4. spring boot: 设计接口站api的版本号,支持次版本号(spring boot 2.3.2)

    一,为什么接口站的api要使用版本号? 1,当服务端接口的功能发生改进后, 客户端如果不更新版本,    则服务端返回的功能可能不能使用,    所以在服务端功能升级后,     客户端也要相应的使用 ...

  5. Model实体类

    Model又叫实体类,这个东西,大家可能觉得不好分层.包括我以前在内,是这样理解的:UI<-->Model<-->BLL<-->Model<-->DAL ...

  6. 第十八章 vi/vim文本编辑器介绍

    一.vi/vim文本编辑器介绍 1.含义: vi就是一个文本编辑器 2.为什么学习: 系统配置 编写脚本 vim就是vi的升级版 高级版 [root@jindada ~]# [root@jindada ...

  7. 教你如何帮助前端同学快速生成API接口代码

    最近我们团队开源的后端微服务框架go-zero增长势头比较迅猛,这篇文章我讲讲go-zero对前端团队的作用,并通过一个示例来给大家演示我们是怎么做的,希望能给后端的同学也可以帮助前端同学提高开发效率 ...

  8. 《Kafka笔记》4、Kafka架构,与其他组件集成

    目录 1 kafka架构进阶 1.1 Kafka底层数据的同步机制(面试常问) 1.1.1 高水位截断的同步方式可能带来数据丢失(Kafka 0.11版本前的问题) 1.1.2 解决高水位截断数据丢失 ...

  9. Jmeter入门(6)- 参数化

    一.什么是参数化 为什么要参数化? 在发送大量的请求时,键对值是写死的,每次请求都需要去修改,无法实现快速添加的需求.想要快速实现该需求,就需要用到参数化. 什么是参数化? 根据需求动态获取数据并进行 ...

  10. Ubuntu使用mail命令发送邮件

    sudo apt-get install mailutils   如下命令发送邮件:    mail -s "Test mail from ubuntu" ckboss@y< ...