
问题:首次打开 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 年 6 月 24 日 ```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 年 6 月 24 日 via iPhone 大抵是因为你复用了会话,第二次登陆无需输入密码。password 关键是不会出现,从而 hang 住,建议修改 viquuu 的脚本,并增加 bash prompt 的 case 分支。 |
5 GoRoad OP 刚刚测试又发现个问题,我多次打开同一台服务器的配置文件,关闭第一个能用的会话后,剩余的会话在几秒内就全都关闭了 |