红联Linux门户
Linux帮助

Linux含交互的自动登录脚本

发布时间:2016-07-01 15:39:31来源:linux网站作者:puyangsky
近来经常要通过ssh登录服务器,每次输入命令和密码很麻烦,查资料发现有两种解决,一种是本地创建密钥直接登录,另一种是写个脚本。
这里介绍第二种方法,第一种资料也很多,但是觉得没啥意思。
 
先上脚本:
#!/usr/bin/expect -f
spawn ssh username@server_host
expect "password:"
send "password\r"
interact
 
再来一行行解释:
首先解释一下这个expect命令,根据其中文含义也可以猜出来,就是期望出现什么,然后接下来我就根据出现的内容再发送什么(也就是send命令)。
这里的spawn的含义跟它的功能好像联系不起来,spawn是expect下的命令,所以必须在脚本的开始声明expect的路径。根据别人的博客知道它的作用是:
它主要的功能是给ssh运行进程加个壳,用来传递交互指令。
 
OK,这就基本可以理解这段脚本在做什么了,首先进行ss命令,当出来输入password的提示时,发送密码,接下来进入你与服务器的交互模式。
 
大功告成,其他的含交互的命令,都可照葫芦画瓢,举一反三了。
注意:直接输入./login.sh,而不要sh login.sh,因为这样会执行失败。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/21974.html