问题:首次打开 ssh 窗口无问题,但是打开同一台服务器的第二个 ssh 窗口后显示连接上,但是无法正常输入,类似于卡死的情况,换连接其他服务器也是同样的情况,只能打开一个窗口,我的 iterm2 profile 配置如下
具体操作: 1 、配置.ssh 目录下的配置文件,如下
#!/usr/bin/expect -f
set host x.x.x.x
set user root
set port 22
set password password
set timeout -1
spawn ssh -p$port $user@$host
expect "*password:*"
send "$password\r"
interact
expect eof
2 、新建 iterm2 的 profile 文件
在 Command 处选择Command
,填写 expect ~/.ssh/xxxconfig
,Working Directory 选择 Home directory
3 、使用
在 iterm2 窗口按快捷键 cmd+o 选择 profile 直接登录 ssh
1
viquuu 2022-06-24 11:17:43 +08:00
```sh
#!/usr/bin/expect set PORT xxxxxxx set HOST xxxxxxx set USER xxxxxxx set PASSWORD xxxxxxx spawn ssh -p $PORT $USER@$HOST expect { "yes/no" {send "yes\r";exp_continue;} "*password:*" { send "$PASSWORD\r" } } interact ``` 我用的脚本是这样,刚试了一下,没卡死。iterm2 版本:3.4.15 |
2
beordle 2022-06-24 13:10:25 +08:00 via iPhone
大抵是因为你复用了会话,第二次登陆无需输入密码。password 关键是不会出现,从而 hang 住,建议修改 viquuu 的脚本,并增加 bash prompt 的 case 分支。
|
5
GoRoad OP 刚刚测试又发现个问题,我多次打开同一台服务器的配置文件,关闭第一个能用的会话后,剩余的会话在几秒内就全都关闭了
|