linux服务器间配置ssh免密连接
先说一下,我用的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免密连接的更多相关文章
- Linux多台主机间配置SSH免密登陆
1.安装ssh. sudo apt-get install ssh. 安装完成后会在~目录(当前用户主目录,即这里的/home/xuhui)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件 ...
- ssh免密连接远程服务器
ssh免密连接远程服务器 借助ssky-keygen和ssh-copy-id工具,通过4个简单的步骤实现无需输入密码登录远程Linux主机 1 生成密钥 通过内置的工具生成RSA算法加密的密钥 ssh ...
- 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服 ...
- 【Linux】配置SSH免密登录
环境说明 假设我们有三台机器分别为bigdata111,bigdata112,bigdata113,三台机器均为centos 7系统. 配置SSH免密登录 (1)利用Xshell的发送键输入到所有会话 ...
- 记一次Xshell配置ssh免密登录时的问题
问题: 今天在配置SSH免密登录连接自己的阿里云服务器,在将RSA加密生成的公钥放到服务器后,用Xshell连接服务,出现所选的用户密钥未在远程主机上注册这样的提示,一时懵逼,不知所措,后面终于找到了 ...
- Ubuntu16.04下配置ssh免密登录
Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...
- 配置ssh免密登录遇到的问题——使用VMware多虚拟机搭建Hadoop集群
搭建环境: 虚拟机 VMware12Pro 操作系统 centos6.8 hadoop 1.2.1 1.导入镜像文件,添加java环境 1.查看当前系统中安装的java,ls ...
- linux(十)配置ssh免密登录实现
知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...
- Linux 设置秘钥登录(SSH免密连接)
Secure Shell 协议,简称 SSH,是一种加密网络协议,用于客户端和主机之间的安全连接,并支持各种身份验证机制,目前最实用的身份验证机制就是基于密码的身份验证和基于公钥的身份验证两种.Lin ...
随机推荐
- Linux下批量kill掉进程
ps -ef|grep java|grep -v grep|cut -c 9-15|xargs kill -9 管道符"|"用来隔开两个命令,管道符左边命令的输出会作为管道符右边命 ...
- is, ==, id 用法、代码块和缓存机制
id(): 获取对象的内存地址:print(id(i)) == : 比较两边的值是否相同 is : 判断内存地址是否相同 id相同,值一定相同 值相同,id不一定相同 代码块: Python是由代码块 ...
- Linux命令的执行
为什么在提示符下命令可以被执行呢? 执行命令过程 输入命令后回车,提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来 shell本身也是一个程序,只不过 ...
- Codeforces Round 662 赛后解题报告(A-E2)
Codeforces Round 662 赛后解题报告 梦幻开局到1400+的悲惨故事 A. Rainbow Dash, Fluttershy and Chess Coloring 这个题很简单,我们 ...
- HashMap的理解
Hashmap的实现原理 默认它是存放了16个链表头的数组,存储数据的时候key先生成hashcode,根据hashcode把数据存放到相应链表中,那么是如何确定存放到哪个链表中的呢?采用hashco ...
- 如何使用FastCGI处理自定义HTTP头
对于如何使用FastCGI处理自定义HTTP头这里记录一下注意事项: 在FastCGI中,自定义头可以从环境变量获得: 获取时名字前面要加HTTP_,字母要全部大写: 发送头不能有下划线_,否则该字段 ...
- python抓取动态验证码,具体第几帧数的位置静态图片
一.代码+注解 import os from PIL import Image import requests import io def save_img(): headers = { 'User- ...
- 实战三:将nacos作为配置中心
一,引入nacos配置中心依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId&g ...
- Dev中配置graphcis.h
下载地址:http://winbgim.codecutter.org/ 搞得自己有点奔溃 没成功 尝试了全网的所以的方法都没成功
- NB-IoT的同步信号解析
NB-IoT的小区搜索和LTE的小区搜索是类似的,每个UE都是通过对同步信号的检测,来实现与小区时间和频率上的同步,以此来获取小区的ID.NB-IoT的同步信号包括NPSS和NSSS. NPSS用于完 ...