Mac iterm2使用expect实现SSH自动登陆

  |  
阅读次数
  |  
字数 389
  |  
时长 ≈ 2 分钟

安装brew

先确保已经安装了brew,我们将使用brew来安装我们需要的命令和软件。

1
brew --version

1
2
Homebrew 1.5.10
Homebrew/homebrew-core (git revision c3f55; last commit 2018-03-14)

安装iterm2

命令行工具。

1
brew cask install iterm2

安装expect

expect的作用是当遇到指定命令之后执行对应命令。

1
brew install expect

1
expect -version
1
expect version 5.45

## 编写自动登录脚本
/usr/local/bin/目录下,新建iterm2login.sh文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/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"}
"Password:"
{send "[lindex $argv 3]\n"}
}
interact

配置iterm2

添加profile,配置如下:

1
2
3
iterm2login.sh 端口号 用户 IP地址 密码

iterm2login.sh 22 finder 10.121.22.211 ImLog4Dev

iterm2login_1

更改TAB页的title

先勾选 Preference -> Appearance -> Show profile name 选项。

iterm2login_2

再打开 Preference -> Profiles,选中你要设置的 profile,点击右边的 Terminal 标签,把默认勾选上的 Terminal may set tab/window title选项取消勾选,如下:

iterm2login_3

保存iterm2的个性化配置

为了防止配置丢失,或者重装系统能够恢复当前配置,可以把当前配置保存在iCloud或者其他云盘中,我这里使用Dropbox。

现在Dropbox下创建好保存配置的文件夹。
iterm2login_4

iterm2中选择 Preferences,general页签下部勾选如下两个复选框,然后点击右边的Browse浏览文件夹,选择刚才创建的目录,之后确认配置已经保存完毕。
iterm2login_5