iTerm2 保存ssh用户名密码

字数 315阅读 4745

也就是使用 ssh 连接某个服务器不需要再每一次都重新输入用户名,密码

在服务器上存公钥太麻烦了,这里用的方法是 脚本+profile

脚本

先写一个登录用的脚本

#!/usr/bin/expect

set timeout 30
spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
expect {
        "(yes/no)?"
        {send "yes\n";exp_continue}
        "password:"
        {send "[lindex $argv 3]\n"}
}
interact

可以丢到任意一个文件夹下面,其中[lindex $argv 0], [lindex $argv 1], [lindex $argv 2], [lindex $argv 3] 分别代表着端口号/用户名/服务器地址/ 密码4个参数。

有时候不需要指定端口,就可以在脚本中删除-p [lindex $argv 0],同时记得改后面argv的索引(argv1 => argv0)

配置 profile

实际上就是每次打开 iterm2的 tab 先执行对应的脚本,参数配置好保存。

image

command 那里就是填 脚本名字(填绝对路径下的脚本名比较保险) + 端口号 + 用户名 +服务器ip + 密码 , 如
/Users/mac/Documents/RemoteLogin/item2login.sh port username 10.10.10.10 password

这样就配置好了,每次直接在 profiles 标签下面选择对应的服务器配置,单击自动建立新 tab 并连接登录。

参考资料

iterm2 保存账号密码

iTerm2 终端工具记住SSH密码

ITerm2下使用ssh保存密码