mac iterm2 login shell

Mac OS自带的终端,用起来虽然有些不太方便,界面也不够友好,iTerm2是一款相对比较好用的终端工具.iTerm2常用操作包括主题选择、声明高亮、自动填充建议、隐藏用户名和主机名、分屏效果等.

Mac 暗转 itrem2 的文章很多, 我就不写太多了。

itrem2 官网下载: https://iterm2.com/downloads.html

可以用命令直接安装:

1
brew cask install iterm2

创建登入脚本,密码设置好,通过传入参数,登入不同机器。

vim allssh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/expect
set timeout 2
set password loginpasswd
set port [lindex $argv 0]
set user [lindex $argv 1]
set host [lindex $argv 2]
spawn ssh -p $port -l $user $host
expect {
"*continue connecting*"
{send "yes\r";exp_continue;}
"*password*"
{send "$password\n"}
}
interact

保存脚本,执行的时候需要传入 端口、用户、主机地址

1
./allssh 22 root 192.168.1.243

在来一个例子:

密码也会传输。

vim autossh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/expect
set timeout 2
set PORT 22
set USER root
set IP [lindex $argv 0]
set PASS [lindex $argv 1]
if ![string compare $PASS ""] { # //此处花括号前必须有一个空格,具体请参考TCL语言规范
# //如果PASS变量为空字符串
set PASS loginpasswd
}

spawn ssh -p $PORT -l $USER $IP
expect {
"*continue connecting*"
{send "yes\r";exp_continue;}
"*password*"
{send "$PASS\n"}
}
interact

执行:

1
2
3
./autossh 192.168.1.243 

./autossh 192.168.1.243 newloginpasswd

在来一个三级登入的例子,先登入堡垒机,在登入跳板机, 在登入内网的机器。

vim ssh-gate

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/expect
set host [lindex $argv 0]
set TERMSERV 192.168.2.2
set USER baoleiji
set PASSWORD baoleijipasswd
set TBIP 192.168.2.3
set UATUN tiaobanji
set UATPWD tiaobanjipasswd

# 登录堡垒机
spawn ssh -p 22 -l $USER $TERMSERV
expect {
"yes/no" {send "yes\r";exp_continue;}
"*password:*" { send "$PASSWORD\r" }
}
# 登录跳板机
expect "*baoleiji@shining-gate00*" {send "ssh -l $UATUN $TBIP\r"}
expect {
"yes/no" {send "yes\r";exp_continue;}
"*password:*" { send "$UATPWD\r" }
}
# 登入内网
expect "tiaobanji$*" {send "ssh -l root $host\r"}
interact

执行

1
./ssh-gate  192.168.2.243

另外,iterm2 的快捷键还是很好用的。

1
2
3
登入可以在 Preferences -> Profile -> shortcut key  
Command 里选择 Login Shell
Send text at start 填写你的脚本路径和命令: /home/autossh 192.168.1.243

输入的快捷键也是很好用的。

1
2
3
4
5
6
可以在 Preferences -> keys -> 选择加号 ”+ “
Keyboard Shortcut 设置快捷键,键盘输入
Action 选择 Send Text
下面输入你要输入的内容, "\n" 代表回车,如:
loginpasswd\n
代表输入我呢密码之后回车。
感谢您的支持!