ssh免密登录是客户端发送自己的公钥到服务器。用公钥进行解密,自己生成的私钥进行加密。

首先在客户端查看sshd服务是否启动

  

 [zhiwei@zhiwei1 ~]$ ps -Af|grep sshd;
root : ? :: /usr/sbin/sshd -D
root : ? :: sshd: zhiwei [priv]
zhiwei : ? :: sshd: zhiwei@pts/
zhiwei : pts/ :: grep --color=auto sshd

检查是否安装了有关ssh的三个软件包:openssh-server,openssh-client,openssh

[zhiwei@zhiwei1 ~]$ yum list installed | grep ssh
libssh2.x86_64 1.4.-.el7 @anaconda
openssh.x86_64 .4p1-.el7 @anaconda
openssh-clients.x86_64 .4p1-.el7 @anaconda
openssh-server.x86_64 .4p1-.el7 @anaconda

然后查看有没有ssh-keygen命令 whick ssh-keygen;

之后生成秘钥:

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

其中-t参数是使用的算法名字,-P参数为设置密码,这里密码为空,也可以不写,-f参数是设置秘钥生成路径。

生成完之后,将id_rsa.pub分发到各个服务器的~/.ssh/下,并将其追加到authorized_keys中(没有这个文件可以创建)。

因为博主要配置的服务端比较多,为了省事,可以用类似的脚本:

#/bin/bash
if [[$# -lt 1]];then echo no params;exit;fi
p=$1
q=$2
for((i=242;i<=250;i=$i+1));do
scp -r $p zhiwei@192.168.118.$i:$q
done;

可以直接将id_rsa.pub群发到各台服务器。然后用另一个脚本,类似这个:

#/bin/bash
params=$@
i=1
for((i=242;i<=250;i=$i+1));do
echo 192.168.118.$i======================================================
ssh zhiwei@192.168.118.$i "$params"
echo 192.168.118.$i======================================================
done

可以比较方便的将id_rsa.pub里面的内容追加到authorized_keys。

然后坑来了~

在Centos7中,.ssh的权限最好是711,或者700,只有当前用户能看到,其他用户最多有个执行权限。

.ssh里面的authorized_keys最好是600,最多644权限。而ubuntu可以不用这么搞。。。。(博主也不知道为啥,下面有知道的小伙伴可以留言)

。。。。。今天配ssh免密登录卡在这个地方卡了半天。。。。。

搞定~

Centos7配置ssh免密登录群发的更多相关文章

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

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

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

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

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

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

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

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

  5. Ubuntu如何配置SSH免密登录

    前言 在搭建hadoop集群时,需要主机和副机之间实现SSH免密登录 一.环境准备 1.ubuntu两台 二.安装SSH 1.首先检测一下本机有没有安装SSH服务,如果没有任何打印说明未安装 sudo ...

  6. 配置ssh免密登录后,仍需要密码才能登陆其中某台机器

    提示:如果是三台机器A.B.C配置了ssh免密登录,从A和B上登录C需要密码,则需要修改C的配置 修改配置文件如下: sudo vi /etc/ssh/sshd_config #禁用root账户登录, ...

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

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

  8. CentOS配置SSH免密登录

    假如我们有两台CentOS机器,192.168.199.101,192.168.199.102,要想在101上远程连接102可以通过ssh命令来实现 ssh 192.168.199.102 如果没有配 ...

  9. CentOS7做ssh免密登录

    (1)实验环境 两台CentOS7: youxi1 192.168.1.6 youxi2 192.168.1.7 这里我将防火墙关闭进行实验,如果防火墙开启,请将端口加入到防火墙规则中. (2).目标 ...

随机推荐

  1. python27期day01:变量、常量、注释、PEP8开发规范、数据类型、Python2和Python3的区别、用户输入、流程控制语句、作业题

    1.变量:将程序中运行的中间值临时存储起来,以便下次使用. 2.变量命名规范:数字.字母.下划线.建议驼峰体.变量名具有可描述性.不能使用中文和拼音.不能数字开头和使用关键字('and', 'as', ...

  2. ios、安卓的兼容性

    日期转换成时间戳: 安卓下可以使用 Date.parse(new Date('2019-11-18 12:00:00')) 直接转换,结果为 1574049600000 ios下 Date.parse ...

  3. P3273 【[SCOI2011]棘手的操作】

    此题用可并堆勉强过,需加输入优化,但是这里有个问题就是set总是过不了一组数据,用multiset时间有点高,不懂这个问题,请懂此问题的给我留言. 左偏树+并查集 下面上代码: #include &l ...

  4. [LeetCode] 344. Reverse String 翻转字符串

    Write a function that reverses a string. The input string is given as an array of characters char[]. ...

  5. java ++a,a++,--a,a--

    public class Sample { public static void main(String[] args) {int a, b, c, d, e; Scanner s = new Sca ...

  6. 第02组 Alpha冲刺(6/6)

    队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 准备"Alpha事后诸葛亮" 提交记录(全组共用) 接下来的计划 完善接口文档 调动组员积极性 还剩下 ...

  7. 应用层协议:HTTP

    1. HTTP定义 HyperText Transfer Protocol,超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络 ...

  8. 使用Shell上传/下载文件

    来源:https://www.cnblogs.com/pcyy/p/7568820.html 1,安装lrzsz工具包 yum  install lrzsz 2,安装完成后 输入rz选择文件进行上传

  9. 第24课 std::thread线程类及传参问题

    一. std::thread类 (一)thread类摘要及分析 class thread { // class for observing and managing threads public: c ...

  10. 使用semaphore写一个显示锁

    /** * 这里只是将Semaphore包装了一下,注意当Semaphore的构造参数是1时,本身就是一个显示锁 */ public class SemaphoreLock { ); public v ...