linux ssh 登录脚本

最近公司的积分商城被人刷票。所以要查nginx日志,而这个业务就有8台服务器。每次登录都要输入密码。那个蛋疼。所以写了一个自动化登录的shell脚本。省去了很多麻烦。这个只是一个小功能,如果想做的更加智能化,可以在这个基础上优化

#!/usr/bin/expect

set timeout 5
set user xxx
set passwd xxx
set host [lindex $argv 0]

spawn ssh $user@$host

expect "*assword:" {
        send "$passwd\r"
}

interact

当然也可以把此脚本当shell命令使用,只需要 cp addServer.sh /bin/addServer 就行了。
下回调用时直接用 addServer 10.x.x.x ,很是方便吧

注意:
1,/usr/bin/expect 不支持shell赋值(调试了好久,蛋疼)
2,interact不可少(执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上)

参考:
http://www.xuanhao360.com/linux-expects/
http://www.pythonclub.org/linux/expect
http://www.godblessyuan.com/2015/02/25/shell_expect_ssh/

    原文作者:赵雍
    原文地址: https://segmentfault.com/a/1190000002714645
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞