[原创] 配置iTerm2(MacOS)的"站点管理器"

转载请注明出处:https://www.codelast.com/

很多terminal client都有“站点管理器”功能,也就是说把服务器连接参数保存在配置里,用户可以通过在图形界面上点击的方式就能连接上指定的服务器,不再需要手工输入服务器IP、用户名、密码。
SecureCTR,Xshell,ZOC等都有这种功能,但它们都不是免费软件。
在MacOS上,ZOC算是一个功能很强大的terminal,但其价格也是贵得离谱(2019年的价格是将近80美元/单用户授权),而免费又最流行的terminal——iTerm2,其对“站点管理器”的支持却不那么直接,需要经过一定的配置才能用起来,不过,就算是为了省那80美元,也值得我们花一些时间来配置一番,下面就走起来。

 分别为每个要连接的服务器创建一个profile
在iTerm2主界面里按 Command+O 快捷键打开“Profiles”对话框,如果你之前没有配置过的话,里面只会看到一个名为“Default”的profile。不用管它,点击对话框下方的“Edit Profiles...”按钮:

文章来源:https://www.codelast.com/
会进入“Preferences”对话框:

点击左下角的“+”,添加一个profile:

其中,“Name”随便起一个名字即可;“Tags”可以为该服务器设置一个标签,相同标签的服务器可以有一个相同分组的概念;“Command”那里在下拉列表框里就选“Command”,并且在后面的文本框里填上:

/Users/codelast/iterm-login.sh 22 codelast@abc.com my_login_password

其中:
/Users/codelast/iterm-login.sh 是一个配合登录用的脚本,后面接着会说到它。
22是
服务器ssh端口号
codelast@abc.com 是
服务器ssh用户名@服务器域名或IP
my_login_password 是
登录服务器的密码
以上内容根据实际情况更改。
文章来源:https://www.codelast.com/
 配合iTerm2使用的登录脚本
iterm-login.sh 脚本内容如下(内容来自网上,原链接不记得了,感谢作者):

#!/usr/bin/expect -f

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

记得用 chmod +x iterm-login.sh 为其添加可执行权限。
文章来源:https://www.codelast.com/
 后续使用
依次把每一台服务器的信息按上面的方法添加profile,完成之后,回到iTerm2主界面,按 Command+O 快捷键调出“Profiles”对话框,可以在里面输入关键字快速搜索到服务器名,一回车就可以直接登录服务器了,不再需要手工输入用户名、密码,特别方便。

发表评论

电子邮件地址不会被公开。 必填项已用*标注