在mac下每次ssh登陆服务器都需要手动输入密码非常麻烦,虽然我们可以使用公私钥的方式配置免密登陆,但还是有点麻烦。故这里提供另一个办法来实现免密ssh登陆。
一:使用brew安装工具(brew是mac下一个类似apt-get的安装工具,非常好用。具体可以百度)
brew install expect
brew install spawn-fcgi
二:新建一个ssh脚本。在脚本中配置服务器的信息如ip账号密码等,这里我命名为login.sh
#!/usr/bin/expect
set user root
set ipaddress 192.168.x.x
set passwd xxxx
set timeout 30
spawn ssh $user@$ipaddress
expect {
"*password:" { send "$passwd\r" }
"yes/no" { send "yes\r";exp_continue }
}
interact
其中:
- user后面的是服务器登陆用户名
- ipaddress后面的是服务器地址
- passwd后面的是服务器密码
三:直接打开命令行执行login.sh脚本即可
网上的资料说需要使用
expect login.sh
命令来进行登陆,但是我亲测直接在脚本目录下执行
./login.sh
命令也是可以的