iterm2利用脚本保存ssh会话

一、编辑shell脚本

1.1 不指定port

新建脚本 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

#其中参数0表示user,参数1表示host ip,参数2表示password。

1.2 指定port

新建脚本 iterm2login.sh

#!/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
# 其中参数0表示port,参数1表示user,参数2表示host ip,参数3表示password。

二、 打开iterm2新建profile

打开iterm2 -> iterm2 -> preferences -> profiles -> 左下角的+,则右侧出现如下界面:


image.png

Name处编辑session名称(会在标题栏的profiles选项下显示),Command选中command,在command中按顺序从左到右填入如下内容(空格分隔):

对于无port情况:
expect shell脚本路径 用户名 目标服务器ip 密码
对于有port情况:
expect shell脚本路径 port 用户名 目标服务器ip 密码

设置结束后关闭preference界面,标题栏profiles选项,就会看到刚新建的profile,点击对应profile就可以建立session。

注:如果第一次使用出现卡顿的现象时,可以先手动ssh user@ip 登陆后。再次使用此profile就可以了。

你可能感兴趣的:(iterm2利用脚本保存ssh会话)