现象:
需要登录线上的一台目标机器A,但是不能直接登录(没有登录权限),需要先登录B机器,然后从B机器跳转到A机器。
脚本如下:
localhost:~ root# cat IDC-7.sh
#!/bin/bash
ssh [email protected] "ssh -p25791 [email protected]"
但是在执行脚本的时候报错如下:
Pseudo-terminal will not be allocated because stdin
原因:
伪终端将无法分配,因为标准输入不是终端。
解决办法:
需要增加-t -t参数来强制伪终端分配,即使标准输入不是终端。
在脚本里添加-t -t参数即可,如下:
localhost:~ root# cat IDC-7.sh
#!/bin/bash
ssh [email protected] "ssh -t -t -p25791 [email protected]"
或者
localhost:~ root# cat IDC-7.sh
#!/bin/bash
ssh -t [email protected] "ssh -t -t -p25791 [email protected]"
时间: 2024-08-02 06:09:04