Archive for 2010年06月27日

无交互 SSH 登录脚本

Written by liangsuilong. Posted in 快速教程

SSH 远程控制服务以其安全、简单著称。但是因为安全性的问题,每一次登录都需要输入用户名和密码的确比较恼人。为此,BOYPT 编写了一个简单的 Bash 脚本,可以无需重复输入用户信息。 完整的脚本如下:
#!/bin/bash
auto_smart_ssh () {
    expect -c "set timeout -1;
                spawn ssh -o StrictHostKeyChecking=no $2 ${@:3};
                expect {
                    *assword:* {send -- $1\r;
                                 expect { 
                                    *denied* {exit 2;}
                                    eof
                                 }
                    }
                    eof         {exit 1;}
                }
                " 
    return $?
}
 
auto_smart_ssh passwd user@host ls /var
echo -e "\n---Exit Status: $?"
更详细的介绍可以参考 BOYPT 的原文