这里必须先安装:

yum install expect -y

expect是一种自动交互语言,能实现在shell脚本中为scp和ssh等自动输入密码自动登录。
下面给出scp和ssh的使用示例:

1、scp

[root@BS-WORKERMAN-NFS package]# cat scp.sh
#!/bin/bash
src=/package
dsc=/root/
for i in {4,5,6}
do
expect -c "
spawn scp -r $src/scp.sh root@10.20.18.2$i:$dsc
expect {
\"*assword\" {set timeout 300; send \"game2017\.\/\r\";}
\"yes/no\" {send \"yes\r\"; exp_continue;}
}
expect eof"
done

2、ssh

#!/bin/bash
expect -c "
spawn ssh root@192.168.1.204 \"ls;\"
expect {\"*assword\" {set timeout 300; send \"password\r\";}\"yes/no\" {send \"yes\r\"; exp_continue;}}
expect eof"

shell 中scp 和 ssh密码输入 --expect (转:http://blog.sina.com.cn/s/blog_8ad7d4ca01014lft.html)相关推荐

  1. linux 脚本 expected,使用expect实现shell中scp自动输入密码

    使用expect实现shell中scp自动输入密码 前段时间有一个需求,要实现一个自动备份脚本,因为不需要全部备份,所以没有使用rsync,在这里使用scp.因为scp需要输入用户密码,在网上查了好多 ...

  2. shell中spawn什么意思_shell 编程-Expect

    原标题:shell 编程-Expect No.1 expect的安装 [root@qfedu ~] yum -y install expect No.2 expect的语法-------通过expec ...

  3. js中innerHTML与innerText的用法与区别【转自http://blog.sina.com.cn/johnpu】

    用法:SupeSite/X-Space官方站%x-ZP$k?'DWZ_{ SupeSite/X-Space官方站K?_/T9s3^QJ a4X <div id="test"& ...

  4. 关于Linux中批量配置SSH免密的一些笔记

    写在前面 今天和小伙伴们分享批量配置SSH免密的一些笔记 传统的运维场景可以通过Ansible 等运维工具处理 在安装使用一些运维工具,比如Ansible,或则一些pass组件,需要配置ssh免密,s ...

  5. shell 中的特殊符号的含义

    来源:http://blog.sina.com.cn/s/blog_62a151be0100x9rn.html 学习撰写 script 最迅速的捷径是观摩别人的 script 档案.不过,此法儘管实际 ...

  6. Android系统shell中的clear命令实现

    之前一直不太清楚,当我们在shell命令行输入很多命令,会在屏幕上输出一些信息,为什么一执行clear这个命令以后,所有的信息就没了呢? 现在终于搞明白了,找到了clear命令的源代码clear.c ...

  7. shell中的大括号和小括号

    转载自:http://blog.sina.com.cn/s/blog_4a2a29f00100o2os.html 在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下: ...

  8. linux系统冒号模式map怎么用,shell中冒号 : 用途说明

    我们知道,在Linux系统中,冒号(:)常用来做路径的分隔符(PATH),数据字段的分隔符(/etc/passwd)等.其实,冒号(:)在Bash中也是一个内建命令,它啥也不做,是个空命令.只起到占一 ...

  9. vue限制只能输入数字_vue+element 中 el-input框 限制只能输入数字及一位小数

    仅个人经验,希望能帮到有需要的人. 第一次写 就话不多说了直接上代码. // 只能输入数字且只有一位小数 proving(e) { // this.form.skus[e].Price 是input的 ...

最新文章

  1. Cuda Stream流 分析
  2. 10 个深恶痛绝的 Java 异常。。
  3. OAuth与OpenID区别
  4. 2014西安 H 有向图博弈 UVALive-7042
  5. 结构型模式 -- 代理模式(静态代理动态代理)
  6. nginx配置多个php端口号,nginx如何设置多端口
  7. oracle 监控 视图,【转】oracle几个常用的监控视图
  8. Keras Data augmentation(数据扩充)
  9. 在C++中使用Protocol Buffers
  10. 美法院起诉黑客组织成员 为暴雪服务器攻击者
  11. 将一个对象相同的属性(不区分大小写)赋值给一个新对象 DataTable的一个简单的扩展...
  12. html 单选框_HTML
  13. (1)快速了解Redis
  14. 北京市丰台区卫星地图下载
  15. 音视频系列七 使用libyuv提高转换性能
  16. 【耀杨闯荡华儿街】(面试官)曹阿门:给我讲讲多线程;耀杨:md心态崩了~
  17. 结构体知识——声明,初始化,成员访问,传参
  18. missingno错误不显示图片,pycharm
  19. c#等比例缩放、压缩gif、动图文件
  20. 推荐几款目前最热门的前端框架

热门文章

  1. Pandas的学习(3.DataFrame的创建方法和三种索引方法(iloc、loc、values)以及切片)
  2. 离散免疫算法求解旅行商问题(源码实现)
  3. pyqt5讲解10:布局管理讲解大全
  4. Java对象的访问定位
  5. wxWidgets:显示如何从 DLL 使用 wx 的示例
  6. wxWidgets:TextFrame 类的完整实现
  7. boost::serialization模块指针反序列化的安全异常处理示例
  8. BOOST_PROTO_DEFINE_OPERATORS宏使用 std::vector<> 和 std::list 非原型类型来原型化表达式的示例
  9. boost::mpi模块all_reduce() 集合的测试
  10. boost::make_iterator_range用法的测试程序