小蝙个人比较懒,每次都要登入多台服务器上工作,都要查看note,什么ip啦,端口啦,用户名啦,密码啦如果只有一个,那还是挺好记的,但是如果有10个,甚至更多,而且为了安全,每个服务器的密码都不一样,ip和端口也不一样,这样就非常痛苦了,顾小蝙利用了一下expect软件,用脚本登入就行了,瞬间从痛苦的记忆中恢复过来,要使用expect软件,就要安装expect,小蝙只在linux下作业,windows的同学自己看着办了,应该也很简单的,使用tcl wins版,还有cygwin,MobaXtem等都是不错的windows下linux环境软件。都可以安装expect。
第一步安装expect ,Ubuntu下输入:
sudo apt-get install expect
centos 下输入:
sudo yum install expect
就完事了。
第二步 编写epect解析执行的脚本
语法很简单,可以参考man文档 man expect,就可以看到了或者自己看看tcl的文档,在这里小蝙就不啰嗦了,小蝙写了一个登入服务器的脚本仅供参考:
#!/bin/expect -f set timeout 100 spawn ssh -i id_rsa joy@localhost -p 5848 expect "Enter passphrase for key 'id_rsa':" send "PASSWORD\r" interact
保存为login.sh,然后修改一下权限 chmod 755 login.sh,之后就可以通过./login.sh登入了,如果有什么不对的或者你想了解的,留言就可以了