使用expect脚本实现ssh自动登录

在shell脚本编程中,经常会有远程执行命令的需求,而要做到这一点,一种方法是使用ssh建立起主机间的信任关系,而另一种方法是使用交互式的语言自动输入密码,下面就使用expect脚本实现ssh自动登录的功能。

#!/usr/bin/expect -f
# 设置变量
set password [lindex $argv 0]
set ipaddr [lrange $argv 1]
set timeout 1
# 开启另外一个进程运行ssh登录脚本
spawn ssh root@$ipaddr
# 等待输入密码的提示符
expect "*?assword:*"
# 使用send命令发送密码
send "$password\r"
# 等待超时
expect timeout

--EOF--

你可能感兴趣的:(编程,F#,脚本,ssh)