全自动化建立SSH信任
#! /bin/sh#远程主机1(源主机) src_host=$1 src_user=$2 src_passwd=$3#远程主机2(目标主机) dst_host=$4 dst_user=$5 dst_passwd=$6src_pub=/root/.ssh/id_rsa.pub#在远程主机1上生成公钥 Keygen() {expect << EOFspawn ssh $src_user@$src_host "test -f /root/.ssh/id_rsa.pub || echo CheckFalse "expect {"password:" {send "$src_passwd\n"} eof { exit }}expect CheckFalse { exit 11 }EOFif [ $? -ne 11 ];then echo -n "公钥已经存在,将直接拷贝……" else echo -n "公钥不存在,开始创建……" expect << EOF spawn ssh $src_user@$src_host "ssh-keygen -t rsa " while {1} {expect {"password:" {send "$src_passwd\n"} "yes/no*" {send "yes\n"}"Enter file in which to save the key*" {send "\n"}"Enter passphrase*" {send "\n"}"Enter same passphrase again:" {send "\n"}"Overwrite (y/n)" {send "n\n"}eof {exit} }} EOF fi }#从远程主机1上拷贝公钥到远程主机2上 Get_pub () {expect << EOFspawn scp $src_user@$src_host:$src_pub $dst_user@$dst_host:/root/.ssh/$src_hostexpect {"password:" {send "$src_passwd\n";exp_continue}"password:" {send "$dst_passwd\n";exp_continue}"yes/no*" {send "yes\n";exp_continue}eof {exit}}EOF }#在远程主机2上将内容追加到authorized_keys Put_pub() {expect << EOFspawn ssh $dst_user@$dst_host "mkdir -p /root/.ssh;chmod 700 /root/.ssh;cat /root/.ssh/$src_host >> /root/.ssh/authorized_keys;chmod 600 /root/.ssh/authorized_keys"expect {"password:" {send "$dst_passwd\n";exp_continue}"yes/no*" { send "yes\n";exp_continue}eof{exit}} EOF }Keygen Get_pub Put_pub
使用格式:
./ssh-turst.sh 192.168.1.1 root 123456 192.168.1.2 root 123456
当然也可以把这些主机IP,用户名,密码写入到一个config.ini文件里
192.168.1.1 root 123456 192.168.1.2 root 123456
192.168.1.1 root 123456 192.168.1.3 root 123456
然后使用xargs命令
xargs -n6 ./ssh-trush.ssh < config.file
转载于:https://blog.51cto.com/itech/1837519
全自动化建立SSH信任相关推荐
- 建立集群间ssh信任关系
目的要求 一套集群里有10台主机,建立ssh信任关系,使集群内所有主机可以不输密码互相访问. 解决方法 1.在server1生成私钥 ssh-keygen ssh-copy-id root@192.1 ...
- 自动运维化tools篇2:通过SSH信任关系,批量修改LINUX密码
通过SSH信任关系,批量修改LINUX密码 作者:IORI 原创 2007-2-28 15点 于CC 一 ============================================ ...
- Windows Server 2008与2012建立林信任关系
当公司发展规模较大后,会有多个分公司或者合并收购其他公司的情况出现,这时候就会涉及到多个域以及员工工作调离的情况,这里就会牵涉到用户和计算机跨域的迁移.要跨域迁移,我们首先需要建立好两个域的林信任. ...
- ssh suse 配置_SUSE+linux+配置节点间的SSH信任关系
配置节点间的SSH信任关系 (1)在节点1上 oracle@node1:~ > pwd /home/oracle oracle@node1:~ > mkdir .ssh oracle@no ...
- 9于word没有注册类_XPage系列这次升级后终于是全自动化注册了!
点击上方蓝字关注我们 前言 作为 X-Library系列框架 的灵魂所在,XPage 开源两年以来,一直致力于降低Fragment使用的难度,努力实现一个Activity多Fragment的Andro ...
- Linux创建SSH信任关系
Linux服务器创建信任关系可以解决远程执行命令.远程传输文件多次手工输入的麻烦.可以实现环境一键打包备份. 测试环境 SuSE 手工创建 假设服务器A与B间要建立信任关系.用户想从服务器A免密码登录 ...
- 关于如何在Android、Java等非微软平台上建立高信任的SharePoint应用程序
关于如何在非微软平台上建立高信任的SharePoint应用程序 原文 :http://blogs.msdn.com/b/kaevans/archive/2014/07/14/high-trust-sh ...
- linux 授信_Linux 配置双机SSH信任
一.实现原理 使用一种被称为"公私钥"认证的方式来进行ssh登录."公私钥"认证方式简单的解释是: 首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_ ...
- A股全自动化交易——从零到实盘20(完结)
本文是"从零到实盘"系列的最后一篇文章,将介绍实现全自动实盘交易的最后一个步骤,即实现定时更新股票数据任务. schedule模块安装 我们使用schedule来实现定时任务,首先 ...
最新文章
- Static interface methods are only supported starting with Android N (--min-api 24): void okhttp3.log
- Python中的test测试
- getParameter的用法总结
- 一文读懂中国互联网的30年(整合版)
- 阿里云mariadb无法启动问题
- snowflake做主键 自增_自增ID算法snowflake - C#版
- python开发环境的搭建和设置
- r访问oracle数据库,R学习笔记之访问远程Oracle数据库
- maya2011安装方法图文详细教程及Unity下载
- 如何使用mapbox选择拾取地图要素
- DLNA 在自己的APP 中添加投屏功能
- plupload上传例子
- Echarts折线图曲线图和三维图
- 寄存器与锁存器的区别
- js字符串转与json对象类型转换
- git拉取分支的方法?
- 狂神说Java Linux笔记三(Vim使用及账号用户管理和进程)
- ACID靠什么保证的
- java实现裂变数据的营销分析_一张图说尽裂变营销究竟该怎么玩!
- 国标28181之服务端下发云台PTZ命令浅谈
热门文章
- js页面倒计时7天 java_javascript实现倒计时跳转页面
- mysql 双冒号_jdk8新特性之双冒号 :: 用法及详解
- cjson使用_LiteOS云端对接教程01-cJSON组件使用教程
- dell 2r30服务器装系统,DELL服务器操作系统安装汇总.docx
- Java中需要全部小写的是,下列哪些是Java中常量的命名约定?A、全部为小写字母B、全部为大写字母C、大小写混合D、字与字之间...
- 2021年5月信息系统项目管理师上午真题
- An error occurred. connect() failed (111: Connection refused) while connecting to upstream
- springmvc数据验证
- Fabricjs一个简单强大的Canvas绘图库快速入门
- java-垃圾回收的并行与并发