Ubuntu 下利用expect脚本自动登录ssh作代理
这类文章网上已经有很多了,实在不想再重复,可惜一直没有一个双击就连上ssh的,要不写个GUI?putty很搞,还是弹出一个命令行出来填用户名密码,那我干脆直接在terminal搞定啦。
#!/usr/bin/expect -f #auto ssh login set timeout 20 spawn ssh login_name@host_name expect “*password:” send “123456\r” interact
网上流传的大多都是上面一段代码,问题就在最后一句上面:
interact
即交互模式,我用ssh只是拿来做代理的话,只需要后台运行就可以了,哪来interact呢?还有考虑更周到的,加了个timeout,每分钟发送一个空格防止被踢,我严重怀疑这个脚本的可行性,特别是ssh用上了-n的时候。另外还有ssh的-f,我以为这个是用于作Daemon运行的,结果发现只是暂时将ssh放在后台了。
最后,我将interact改成了expect eof,世界清静了。
当然,还是建议采取公钥加密的,这样就不用每次都输入密码了。
- 上一篇 »linux中设置免密登录远程服务器
- 下一篇 »php在没有登录的情况下自动跳转到登录页