使用expect实现scp,ssh自动输入口令:

Using expect to implement SCP SSH automatically input password?


Expect is a kind of automatic interactive language, can be achieved in the shell script for SCP and SSH to input password automatically. Here are SCP and SSH the use of examples:


Expect是一种可以在shell脚本中帮助实现SCP和SSH自动输入口令的自动交互语言。


示例:


1.scp

#!/bin/bash
expect -c "
spawn scp root@1.2.3.4:/root/1.log /root
expect {
\"*assword\" {set timeout 300; send \"password\r\";}
\"yes/no\" {send \"yes\r\"; exp_continue;}
}
expect eof"


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
"