expect自动输入密码

简介:

#!/usr/bin/expect


set password "vision"

set passwor "vision"


spawn ssh root@192.168.3.8


set timeout 300


expect {


"*yes/no" { send "yes\r"; exp_continue}


"*password:" { send "$password\r" }


}

expect "]*"

send "df -Th >>/tmp/df.txt\r"

expect "]*"


expect "]*"

send "exit\r"

那怎么把在远端机文件自动传回来呢?



下面是expect for循环:

#!/usr/bin/expect


set timeout -1


foreach i { 192.168.3.113 } {

spawn ssh -i  /home/lee/.ssh/id_rsa_expect  root@$i "free -m >/root/${i}_memory.txt"

expect  "yes/no"

send "yes\r"

interact

sleep 1

spawn scp -i  /home/lee/.ssh/id_rsa_expect  $i:/root/${i}_memory.txt  /root/


expect eof

sleep 2

}

















本文转自chenzudao51CTO博客,原文链接:http://blog.51cto.com/victor2016/1914723 ,如需转载请自行联系原作者


相关文章
|
5月前
|
网络安全 数据安全/隐私保护
ssh远程执行命令自动输入密码方式
ssh远程执行命令自动输入密码方式
515 0
|
5月前
|
数据安全/隐私保护 Perl
sshpass-如何在脚本中执行scp时自动输入密码
sshpass-如何在脚本中执行scp时自动输入密码
54 0
|
10月前
|
Shell 网络安全 Perl
Expect实现SSH免交互执行命令
Expect实现SSH免交互执行命令
103 1
|
网络安全 数据安全/隐私保护 Windows
PuTTY登录时自动输入密码解决办法
Windows系统上最好用且默认标准的ssh工具是PuTTY。但是每次登录要输入一长串密码非常不爽。尤其是每次要打开若干session(通常最少四个,两个tunnel,一个jupyter服务,一个terminal)。网上一搜,解决方法若干,但是:
|
Shell Linux 网络安全
解决SSH登录用户执行的命令部分环境变量参数不生效的问题
问题概况 linux机器在/etc/profile配置完成环境变量后,SSH到目标机器执行命令,但是获取不到已配置的环境变量值。 例如场景: 在/etc/profile配置了http代理 export all_proxy=http://$PROXY_HOST:8118 export ftp_pr...
2308 0
|
Shell 网络安全 数据安全/隐私保护
|
Shell 数据安全/隐私保护
|
数据安全/隐私保护 Shell