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. 解决 SpringMVC 非spring管理的工具类使用@Autowired注解注入DAO为null的问题

    在SpringMVC框架中,我们经常要使用@Autowired注解注入Service或者Mapper接口,我们也知道,在Controller层中注入service接口,在service层中注入其它的s ...

  3. git的安装及使用

    介绍 1.Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版 ...

  4. Export failed for github.com/hashicorp/consul: Unable to export source: exit status 128

    背景 go项目,使用glide install命令去下载安装依赖,依赖中有个github.com/hashicorp/consul 问题描述 一直无法下载安装依赖成功,报错如下: [ERROR] Ex ...

  5. UDF——读取文件作为边界条件(类似profile的效果)

    本文编译工具:VC++ UDF Studio 该插件可以直接在Visual Studio中一键编译.加载.调试UDF源码,极大提高编写排错效率,且支持C++,MFC,Windows API和第三方库, ...

  6. Linux挖矿程序kworkerds分析

    0×00 背景概述 近日,同伴的一台Linux服务器中了kworkerds挖矿程序,随即对挖矿程序进行了处理与分析. 0×01服务器现状 进入服务器之后通过top命令,没有发现有占用CPU资源过高的进 ...

  7. Android保存的文件显示到文件管理的最近文件和下载列表中

    发现Android开发每搞一个和系统扯上关系的功能都要磨死人,对新手真不友好.运气不好难以快速精准的找到有效的资料

  8. html5手机web页面底部菜单

    一.效果图 二.HTML代码 <header class="text-center">TOP</header> <div id="conte ...

  9. 2018-2019-2 20162329 《网络对抗技术》Exp9: Web安全基础

    目录 Exp9: Web安全基础 一.基础知识 1.SQL注入攻击 2.XSS跨站脚本攻击 3.CSRF跨站请求伪造 二.SQL注入 1. 命令注入 2. 数字注入 3. 日志欺骗 三.XSS攻击 1 ...

  10. 【转】python实现Telnet操作

    # -*- coding: utf-8 -*- import logging import telnetlib import time import sys import os host_ip = ' ...