ssh登录失败,报错:Pseudo-terminal will not be allocated because stdin

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh登录失败,报错:Pseudo-terminal will not be allocated because stdin相关的知识,希望对你有一定的参考价值。

 

现象:

需要登录线上的一台目标机器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]"

 

 

 

 

 

 

 

以上是关于ssh登录失败,报错:Pseudo-terminal will not be allocated because stdin的主要内容,如果未能解决你的问题,请参考以下文章

Linux重装系统后SSH登录失败

Python登录SSH服务遇到报错,paramiko.ssh_exception.SSHException: Channel closed.

阿里云linux服务器登录失败,Connection closed

客户端连接报认证失败

ssh登陆概率性失败,报错:kex_exchange_identification

ssh登陆概率性失败,报错:kex_exchange_identification