Mac iterm2快捷登录\免密登录服务器
目录
一、需求
如果你跟我一样,也觉得每次手动输入 ssh username@服务器ip,再输入密码很麻烦的话,希望本文能帮到你。
我自己实践之前也在网上查了很多教程,发现还是有一些坑,就一起记录下来。
二、步骤
1、安装 expect(注意不是 except),用于后续 iterm2login.sh 脚本中,命令如下:
brew install expect
2、写 iterm2login.sh 脚本
我看好多教程都写了脚本内容,但没说存在什么位置,我是存在了 /usr/local/bin/ 路径下
脚本名称: iterm2login.sh
脚本内容:
#!/usr/bin/expect set timeout 30 spawn ssh [lindex $argv 0]@[lindex $argv 1] expect { "(yes/no)?" {send "yes\n";exp_continue} "password:" {send "[lindex $argv 2]\n"} } interact
#!表示以后面这种方式运行脚本
且注意:#!这句话一定要放在第一行,如果前面有空行,则报错。
脚本解释:
[lindex $argv 0]是你传参数的位置,这个表示第一个参数内容,以此类推。
也就是参数 0 是用户名,参数 1 是服务器 IP,参数 2 是密码
3、配置 iterm2
1)选中 profiles
2)
3)
4)不好意思此处得打码了,我尽量用语言表述清楚:
左侧打码部门就是你连接的所有服务器的IP,右侧 Name 栏是你起的名字,这样就是展示在 profiles 下面,一般我都直接以服务器 IP 命名。
右下方打码的部分Send text at start 内容格式:
iterm2login.sh 用户名 服务器IP 服务器密码
注意每个之间都有空格,举个例子: iterm2login.sh sanmei 10.6.6.66 sanmei666
以上内容设置好之后没有 save 保存键,直接关闭即可。
4、使用方法
1)点击菜单栏中的 profiles 栏,选中即可
2)快捷键 cmd+shift+o,弹出快捷框,选中即可。
以上,问题解决~