以前用Windows开发的时候都用xShell,现在用mac的时候没有xShell,通常会用iTerm2代替自带的终端来使用,这样就有了一个问题,每次ssh登录服务器的时候都要手动复制账号密码很麻烦。
可以在~/.ssh/下面写一个脚本,配置到iTerm2的Profiles里(当然放在其他地方也可以)。脚本内容如下:
#!/usr/bin/expect -f
set user <用户名>
set host <ip地址>
set password <密码>
set timeout -1
spawn ssh $user@$host
expect "*assword:*"
send "$password\r"
interact
expect eof
保存到 ~/.ssh/shellname,如果密码中有$符号可以在$符号前面加个反斜杠进行转义\。
然后打开iTerm2的设置里,点开Profiles,左下角点+号新增一个配置文件,然后在Genernal->Command下选择 Command,在输入框里填入 expect ~/.ssh/shellname
下次打开iTerm2就可以选择你自己的配置文件,免密码登录服务器了,极大提升效率。