欢迎访问Ningto's博客

Menu
  • 首页
  • 归档
  • 关于
  • 书签
  • 必应壁纸
  • IT聚合
  • 工具
    • 我的工具列表
    • 我的网盘
    • 必应每日壁纸API
    • Html转Markdown
    • 仙尘光标
Menu

linux expect scp自动输入密码

最后更新 2019-06-27 09:26:16   阅读量 2422

Expect是一个根据脚本与其他交互程序进行“对话”的程序,通过脚本,Expect根据程序的输出信息来判断需要什么输入,然后将输入信息发送给程序。详细文档

现在通过一个简单的例子来使用它,使用scp在不同机器间传输文件每次都要输入密码,expect可以去掉输入密码这个步骤。

脚本如下,假如名字是sync.sh,远程主机的密码是123456

#!/usr/bin/expect -f
set timeout -1
set password "123456"

set src [lindex $argv 0]
set dst [lindex $argv 1]

spawn scp $src $dst

expect {
        "yes/no" { send "yes\r"; exp_continue }
        "password:" { send "$password\r"; }
}

expect eof
exit

用法: 执行下面的命令,传输aaa文件到另一台机器的home目录就不用输入密码了

./sync.sh aaa 172.16.77.100:/home

如果你要传输多个不同的文件可以在另外的脚本里面多次调用sync.sh这个脚本

(转载本站文章请注明作者和出处:泞途 - ningto.com)

下一篇 – zookeeper c client封装
上一篇 – golang slice切片作为函数参数时的陷阱

  1. Linux
  2. Shell

toningto@outlook.com

标签云

IOS Qt Life Linux Java MongoDB Boost MQ Node.js Mac C/C++ Tools Design Python Bug Others Javascript Tips React Android Web Mobile Shell Product Go Database Windows

推广链接

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元

多谢支持,用了好几年,服务很稳定支持多设备!

其他

文章RSS

Copyright © 2016 Welcome To Ningto Blog | 鄂ICP备17003086号-2