centos7实现ssh免秘钥分发
centos7的秘钥分发与centos6的秘钥分发还有点不一样,今天在给朋友排坑,在网上找了半天,也没有一个好解决方法,就只能自己研究,今天就把我解决的问题分享出来;那么如何实现centos7秘钥分发呢
问题:
在centos6执行这个命令是可以的,能够把公钥传输过去
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub "10.0.0.20 -p22 -o StrictHostKeyChecking=no"

但在centos上就不行,公钥也传输不过去


解决:
在百度查找不到的情况下,只能拿起man命令,通过man ssh-copy-id查看参数,一个个调试,终于弄好

可以看出它与centos6的格式有一点不同
sshpass -p123456 ssh-copy-id -f -i /root/.ssh/id_dsa.pub 10.0.0.17 -p 22 -o StrictHostKeyChecking=no

可以看出秘钥分发成功
在测试是否加上 -o StrictHostKeyChecking=no参数,在命令行测试时,是不需要加的,但在脚本中执行,必须加上要不然就分发不了秘钥,这块测试了好久;
最后奉上我的法宝 centos7_ipgiveout.sh
#!/bin/bash
#################################################
# File Name: centos7_ipgiveout.sh
# Author: lxw
# Mail: 1451343603@qq.com
#OS centos7
# Function:
# Created Time: Fri 05 Apr 2019 05:05:52 PM CST
#################################################
[ -f /etc/yum.repos.d/epel.repo ]||echo "正在安装epel源..."
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null
rpm -q sshpass &>/dev/null ||echo "正在安装sshpass..."
yum -y install sshpass &>/dev/null
#创建密钥对
echo "正在创建密钥对...."
[ -d ~/.ss ] || mkdir ~/.ssh &>/dev/null;chmod 700 ~/.ssh
rm -fr ~/.ssh/*
ssh-keygen -t rsa -f "/root/.ssh/id_rsa" -N "" -q && echo "创建密钥对成功" || exit
#秘钥分发
echo "正在分发密钥对"
for ip in `cat iplist.txt`
do
echo "-----秘钥分发到$ip----"
sshpass -p123456 ssh-copy-id -f -i /root/.ssh/id_rsa.pub $ip -p 22 -o StrictHostKeyChecking=no &>/dev/null
if [ $? -eq 0 ];then
echo "----秘钥分发到$ip成功----"
else
echo "----秘钥分发到$ip失败----"
fi
done

到此,问题已解决,虽然在排错的时候花了点时间,但收获还蛮大的!
centos7实现ssh免秘钥分发的更多相关文章
- Centos7 配置ssh 免秘钥登陆
1.yum install -y openssh 2.servier1: ssh-keygen -t rsa #有提示的直接enter 3.server 2: ssh-keygen -t rsa # ...
- Linux SSH 免秘钥登录
SSH 免秘钥登录 ssh:是一种安全加密协议 ssh username@hostname ssh gongziyuan.com:以当前用户登录该机器(如果不是当前用户,需要这么干:ssh ...
- linux下ssh免秘钥登录
1.检查防火墙是否关闭 (1)切换到root用户 (2)查看防火墙状态 service iptables status 这是没有关闭 (3)设置关闭 service iptables stop 2.检 ...
- ssh免秘钥登陆实现
1.用处 搭建集群或者工作中登陆跳板机经常需要做免秘钥互相登陆彼此服务器. 2. 准备工作 假设A主机10.20.0.1想通过ssh登录到B主机10.20.0.2上. 那么客户端(A主机)需要 ...
- ssh免秘钥配置
1.要求:两台相同的系统,这里设置server1控制server2的服务器 2.先在两台服务器上都安装好ssh 输入命令下载: yum install -y openssh-clients opens ...
- 服务器做ssh免秘钥登陆
集群内服务器做非root用户免秘钥登陆:1.node1新建用户abc1,制作公钥.私钥(一路回车键即可)ssh-keygen –t rsa将自动在/home/abc1/.ssh/目录下创建公私钥文件如 ...
- ssh免秘钥
用过好几次免秘钥,但是每次都会忘了应该把copy谁的公钥到另外用户的.ssh文件夹 这里专门记录一次 注意点: A要使用ssh免密登录到B用户下(可以使远程服务器),就把A的用户下的.ssh文件的id ...
- ssh免秘钥登录
简介 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是目前较可靠,专为远程 ...
- Linux上ssh免秘钥互登
两台机器分别为:master:192.168.1.10sever1:192.168.1.20 1.检查机器名和连通性 a.查看/etc/hostname [root@master master]# m ...
随机推荐
- Activation functions on the Keras
sigmoid tanh tanh函数定义如下: 激活函数形状: ReLU 大家族 ReLU softmax 函数 softmax是一个函数,其主要用于输出节点的分类,它有一个特点,所以的值相加会等于 ...
- IGServer for Java
Eclipse和JavaEE: DCServer是哪个? 查看服务器文件夹: Env_Var变量没有定义:JRE_HOME.JDK_HOME 这是Tomcat报错的提示,但是既然JAVA_HOME都有 ...
- Rainbow的信号 CH3801
题目链接 题意:求n个整数任意取一个区间,一起进行xor,and,或or的操作,求xor的期望值,and的期望值,or的期望值. 思路:区间取的左端点为l,右端点为r,当r==l时,选的概率为1/n/ ...
- 2018年最新Java面试题及答案整理(持续完善中…)
2018年最新Java面试题及答案整理(持续完善中…) 基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内 ...
- 怎么更改win7登录界面
方法/步骤 1 第一步,先打开注册表.快捷键是win+R.Win就是Windows图片那个键.打开会是这个. 2 在其中输入Regedit.就打开了传说中的注册表了.然后在注册表中选择.选择的顺序 ...
- CF704E Iron Man
CF704E Iron Man 经过不懈(抄题解)努力之后,终于AC了此题. 说起来很简单. 考虑一个链上的情况, 建立直角坐标系. 横坐标是t,纵坐标是距离链开头的距离d m个路径就是一个线段 那么 ...
- 2016年Esri技术公开课全年资料分享
大家好,2016年的公开课活动在上周全部结束,感谢大家的支持. 2016年的公开课共进行20期,共有24位讲师参与,公开课视频播放.课件下载次数累计超10万次,在这里衷心的感谢大家的积极参与和分享精神 ...
- node js 操作redis promise
连接 redis = require('redis') var client = redis.createClient('6379', '127.0.0.1'); client.on('connect ...
- linux知识总结与问题总结
一直以来经常听到LINUX,但是自己学习的也不深,也没有花时间来梳理一下自己的理解.趁着新年这段时间,好好梳理一下. 在理解LINUX前,先简单理解一下 一:操作系统这个概念. 操作系统就是与电脑中的 ...
- Gcd的原理理解
Ps:最小公倍数=a*b/gcd(a,b) a除以b的商为p,余数为q,a=b*p+q,gcd(b,q)可以整除a和b,因此gcd(b,q)也能整除gcd(a,b):反过来,gcd(a,b)也能整除g ...