红联Linux门户
Linux帮助

Ubuntu使用Spawn和expect实现ssh自动登陆

发布时间:2016-06-03 10:52:37来源:linux网站作者:Lyndon1115

1.安装expect

使用以下代码检测expect是否已经安装

ls /usr/bin | grep expect

如果显示为空,则使用以下命令安装

sudo apt-get install tcl tk expect


2.制作自动登陆脚本

这里把要登陆的机器储存在用户默认目录下,并以机器ip或者机器名为文件名,比如http://www.itnewstop.com 或者 http://www.bugshoot.cn,并加执行权限

touch www.itnewstop.com
chmod +x www.itnewstop.com
vi www.itnewstop.com

脚本中写入以下内容,即,按i键进入写入模式,

#!/usr/bin/expect
spawn ssh yourusername@www.itnewstop.com
expect "*password:"
send "yourpassword\r"
expect "*#"
interact

按esc退出插入模式,然后输入:wq,保存并退出。


3.使用脚本自动登陆

注意,需要先手动ssh一下目标机保存密匙,因为我们脚本里并没有考虑这一步,不然会报错。
使用以下命令登陆远程机器:

cd ~
./www.itnewstop.com


本文永久更新地址:http://www.linuxdiyf.com/linux/21199.html