Centos ssh和scp利用expect自动填充密码
Posted 人艰不拆_zmc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos ssh和scp利用expect自动填充密码相关的知识,希望对你有一定的参考价值。
在命令行ssh远程登录服务器和scp远程传输文件都需要交互式输入密码,无法像mysql登录数据库 mysql -uroot -p123456一样直接完成。
介绍在centos环境下,脚本依赖expect来达到这一目的,首先确认安装 expect
密码有特殊字符如$需要转义
ssh登录脚本,ip在执行脚本时动态输入:
#!/usr/bin/expect
set timeout 30
set ip [lindex $argv 0 ]
spawn ssh -l root $ip
expect "password:"
send "[email protected]\$e1111\r"
interact
scp传输脚本
#!/usr/bin/expect
cd /home/fastdfs/storage
spawn scp data.tar.gz [email protected]:/home/data/storage
set timeout 30
expect "password:"
send "[email protected]\$e1111\r"
interact
以上是关于Centos ssh和scp利用expect自动填充密码的主要内容,如果未能解决你的问题,请参考以下文章
expect实现自动scp和ssh登录后执行命令,并向bash提供返回值