#!/usr/bin/expect
if {$argc != } {
send_user "USAGE:expect_sshkey.exp host"
exit
} #define var
set host [lindex $argv ]
set password "" #spawn
spawn ssh-copy-id -i /home/jp/.ssh/id_dsa.pub -p jp@$host #expect
expect {
"yes/no" {send "yes\r";exp_continue}
"*password" {send "$password\r";}
} expect eof exit -onexit {
send_user "Good to you!\n"
}

生成ssh key

 #!/usr/bin/expect
#spawn
spawn ssh-keygen -t dsa
expect {
"*key" {send "\r";exp_continue}
"*passphrase" {send "\r";exp_continue}
"*again" {send "\r"}
} expect eof
exit -onexit {
send_user "Done!\n"}

expect 分发ssh key脚本的更多相关文章

  1. ssh key一键自动化生成公钥私钥,并自动分发上百服务器免密码交互

    题记:由于工作需要管理大量服务器,所以需要配公钥实现免密登录. ssh批量分发可以一键执行这个操作,但是使用ssh分发服务还需要对各个服务器进行.ssh/id_dsa.pub公钥上传,密码验证.所以需 ...

  2. ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs

    ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [root@001 ...

  3. 11、ssh自动化脚本编写

    11.1.如何一键自动化安装50台规模集群网站搭建: 1.自动化思路: kickstart无人值守安装linux系统(自动创建用户.密码.优化): 分发机上创建秘钥对.批量发走公钥(expect): ...

  4. 20181225-Linux Shell Bash环境下自动化创建ssh互信脚本

    20181225-Linux Shell Bash环境下自动化创建ssh互信脚本 1. 我的Blog 博客园 https://www.cnblogs.com/piggybaba/ 个人网站 http: ...

  5. 批量配置SSH互信脚本

    在大规模自动化部署时我们常常需要配置好服务器的SSH互信,以便自动化脚本可以免密登录远程服务器,常规的手动配置SSH互信步骤如下: 使用ssh-keygen生成本地ssh key(mha01),生成的 ...

  6. expect自动远程拷贝脚本

    expect自动远程拷贝脚本,利用rsync命令,脚本内容如下: #!/usr/bin/expect -- proc Usage_Exit {self} { puts "" put ...

  7. [转]expect实现ssh自动交互

    shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:&quo ...

  8. [转]SSH 原理和基本使用:ssh 安全配置 以及ssh key 认证登录

    一.什么是 SSH ? SSH全称(Secure SHell)是一种网络协议,顾名思义就是非常安全的shell,主要用于计算机间加密传输.早期,互联网通信都是基于明文通信,一旦被截获,内容就暴露无遗. ...

  9. git 指定要提交的ssh key

    问题描述 ssh具有-i选项,用于告知在验证时使用哪个私钥文件: -i identity_file Selects a file from which the identity (private ke ...

随机推荐

  1. css动画和jq动画的简单区分

    有很多不怎么用css3写动画的同学经常会对其中css3的transform,transition,translate,animation,@keyframes等等动画属性混淆错乱,经常使用了发现没有效 ...

  2. 深入解析 ERP 计划的各个层次

    ERP 生产计划管理按照 ERP 计划的层次主要分为:经营规划.销售和运作规划.主生产计划.物料需求计划.能力需求计划.执行能力计划.执行物料计划等. 经营规划是企业的战略规划,用于确定企业经营目标和 ...

  3. Python 利用Python编写简单网络爬虫实例2

    利用Python编写简单网络爬虫实例2 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://www.51testing. ...

  4. android IO流操作文件(存储和读取)

    存储文件: public class FileOperate extends Activity { private static final String FILENAME = "mydat ...

  5. 铁乐学python_Day38_多进程和multiprocess模块1

    铁乐学python_Day38_多进程和multiprocess模块1 [进程] 运行中的程序就是一个进程. 所有的进程都是通过它的父进程来创建的. 因此,运行起来的python程序也是一个进程,那么 ...

  6. Hadoop HBase概念学习系列之模式设计(十)

      Hbase与RDBMS的区别在于:HBase的Cell(每条数据记录中的数据项)是具有版本描述的(versioned),行是有序的,列(qualifier)在所属列簇(Column familie ...

  7. UserUI程序实现过程简述

    1.__tmainCRTStartup 2. mainret = _tWinMain( (HINSTANCE)&__ImageBase, NULL, lpszCommandLine, Star ...

  8. QT5.8连接Mysql提示QMYSQL driver not loaded

    我们都知道在QT5.8系列里已经带了Mysql的dll文件 驱动的名字为“qsqlmysql.dll”和“qsqlmysqld.dll” 但是按照网上的各种教程和博客基本都是错的,只有个别人是对的. ...

  9. IDEA 使用技巧 Update

    IDEA使用起来和Eclipse很大区别. 1.快捷键. 因为一个个熟悉起来费时间,就直接在Preferences—keymap里选择了Eclipse OS X,这样快捷键就转换到了Mac下Eclip ...

  10. JDK1.6在LINUX下的安装配置[转]

    JDK1.6在LINUX下的安装是如何进行的呢,让我们开始我们的演示: Ubuntu Linux下jdk的安装与配置 1.JDK1.6安装准备 从sun公司网站www.sun.com下载linux版本 ...