在LINUX上,我们可以很方便的使用scp命令来远程拷贝文件,但是由于scp命令本身无保存密码选项,所以在shell里面无法像samba那样子保存密码,比较麻烦,下面介绍下两种实现方法。

方法一:

ssh公私钥认证

方法二:

expect(expect - programmed dialogue with interactive programs, Version 5)实现

默认安装,需要手动安装expect包:yum -y install  expect  expect-devel

#!/bin/bash
expect -c "
set timeout 1200; ##设置拷贝的时间,根据目录大小决定,我这里是1200秒。
spawn /usr/bin/scp -r 192.168.0.201:/work/backup/db_back/ /work/dbback/
expect {
\"*yes/no*\" {send \"yes\r\"; exp_continue}
\"*password*\" {send \"123456\r\";} ##远程IP的密码。
}
expect eof;"

如果不设置timeout的话会自动退出,所以必须设置,或者用default字段可以设置expect超时或退出时的动作。

转载于:https://blog.51cto.com/knowledge92/1677865

shell脚本scp自动输入密码相关推荐

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

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

  2. linux 界面自动输入密码,Linux中shell脚本如何自动输入密码

    shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量.条件.算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力得多. 但 ...

  3. ubuntu/linux运行shell脚本sudo自动输入密码(亲测可以)

    运行如下代码为例 sudo apt-get update 第一种方法 使用管道(上一个命令的 stdout 接到下一个命令的 stdin): #!/bin/bash echo yourpassword ...

  4. scp自动输入密码配置

    scp自动输入密码配置 1 源服务器配置 2 目标服务器配置 3 最后权限修改 之所以做这个配置是为在嵌入式linux系统上脚本自动化编译打包程序,然后拷贝到上位机打包进行批量部署! 1 源服务器配置 ...

  5. python生成shell脚本_Python设置在shell脚本中自动补全功能的方法

    本篇博客将会简短的介绍,如何在ubuntu中设置python自动补全功能. 需求:由于python中的内建函数较多,我们在百纳乘时,可能记不清函数的名字,同时自动补全功能,加快了我们开发的效率. 方法 ...

  6. Linux Shell - 脚本中自动确认需要输入确认的命令

    文章目录 Linux Shell - 脚本中自动确认需要输入确认的命令 1.yum 命令 2.其它命令 Linux Shell - 脚本中自动确认需要输入确认的命令 1.yum 命令 通过指定 -y ...

  7. Linux下shell自动输入密码,shell脚本通过expect脚本实现自动输入密码

    背景:在远程文件下载时,需要输入对方的服务器密码,shell不支持交互输入内容,可以用下面两种方式实现 一.在shell脚本中嵌入expect来实现密码输入 expect是一个自动交互功能的工具.ex ...

  8. linux脚本 程序输入,[转]Linux中shell脚本如何自动输入…

    shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量.条件.算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力得多. 但 ...

  9. linux互信封装脚本,使用shell脚本实现自动SSH互信功能

    说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现? #!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorize ...

最新文章

  1. Linux里新建文件/目录的默认权限
  2. mysql下sql语句 update 字段=字段+字符串
  3. autoencoder
  4. [Django]模型学习记录篇--基础
  5. java的math类_Java之Math类使用小结
  6. Java工作笔记-Spring Boot上传图片并显示
  7. Spring Aop 切点表达式
  8. Swift 3到5.1新特性整理
  9. 阿里云资源编排服务Python SDK使用入门
  10. 中班音乐活动 机器人_【家门口的好幼儿园】玩转音乐,释放天性——岳阳幼儿园开展松江区骨干共同体名师二团实践研究活动...
  11. 8.84 亿什么概念?
  12. shell介绍,date命令,shell变量
  13. 使用HP优盘启动盘格式化工具制作DOS7.1启动盘,U盘.SD.TF卡均可用
  14. 360浏览器打不开html5文件,电脑中360安全浏览器无法打开的解决方法
  15. android x86 usb检查不到,【android9.0】system/core下的usbhost模块无法输出log到logcat
  16. mysql注入扫描网站漏洞工具_SQL注入漏洞扫描工具
  17. ARM TrustZone技术简介
  18. Linux中xtp文件上传不了,xtp_api_java: 中泰证券xtp java api for win\linux\mac https://xtp.zts.com.cn...
  19. ISME | 浙大黄健华/陈学新等揭示寄生蜂调控寄主营养代谢的新机制
  20. [yzhpdh多读paper]Discovering Shifts to Suicidal Ideationfrom Mental Health Content in Social Media

热门文章

  1. List集合进行分组
  2. Bootstrap相关整理、免费主题整理
  3. 亚马逊对货车司机“下手”了:实时监控车辆与司机状态并收集相关数据
  4. 想从事程序员,对学历要求高吗
  5. sql2000服务器的注册码,安装完成后如何找回SQL Server实例安装时的序列号
  6. HC-SR501 人体红外感应模块
  7. C标准库头文件—ctype.h
  8. 车牌识别EasyPR--开发详解
  9. 【转载】三层交换机与普通的交换机有什么区别
  10. Mybatis官方文档及使用简记