所以我GOOGLE了错误和检查serverfault,但解决scheme不适合。 大多数结果都是/ dev / pts的问题,但是已经挂载了。 其他的结果是git出错,但是机器上没有git。
我的帐户没有被阻止,我仍然可以在控制台上login。 其他用户也有这个问题,所以我不认为这是与我的.ssh /
我用ssh -vv得到这个响应:
<snip> debug1: Next authentication method: password rogier@server's password: debug2: we sent a password packet, wait for reply debug1: Authentication succeeded (password). debug1: channel 0: new [client-session] debug2: channel 0: send open debug1: Requesting [email protected] debug1: Entering interactive session. debug2: callback start debug2: client_session2_setup: id 0 debug2: channel 0: request pty-req confirm 1 debug1: Sending environment. debug1: Sending env LANG = en_US.UTF-8 debug2: channel 0: request env confirm 0 debug2: channel 0: request shell confirm 1 debug2: fd 3 setting TCP_NODELAY debug2: callback done debug2: channel 0: open confirm rwindow 0 rmax 32768 debug2: channel_input_status_confirm: type 100 id 0 PTY allocation request failed on channel 0 debug2: channel 0: rcvd adjust 2097152 debug2: channel_input_status_confirm: type 99 id 0 debug2: shell request accepted on channel 0
之后会话冻结。 有谁知道发生了什么事?
好的,谢谢Tim。 umounting / dev / pts,然后挂载/ dev / pts的伎俩。
让我告诉你我所有的经验,我尝试通过SSH连接从Linux到Windows ,使用openssh服务器和freessh服务器。 当服务器openssh工作正常,但是因为到现在为止它开始在freessh服务正在运行时出现“通道0上的shell请求失败”消息(从一天到另一天,它用来更好地工作OpenSSH的)
我做的一个testing是尝试来自另一个用户的稳固的连接,因为我看到它工作正常,我备份我的〜/ .ssh(提出问题的用户),然后它工作正常。
我认为涉及的文件是known_hosts,perms看起来不错,内容也是如此,但这是我如何解决这个问题。
错误只是意味着打开伪terminal失败。 很可能它与ssh没有任何关系。 要在ssh服务器端进行debugging,请在http://rachid.koucha.free.fr/tech_corner/pty_pdip.html中使用一个非常简单的PTY演示程序mypty来查看是否可以分配任何PTY。 如果不是,则使用strace来调查失败的位置。 (对于我来说,这是一个容器中缺less的/ dev / ptmx符号链接,如https://www.kernel.org/doc/Documentation/filesystems/devpts.txt所述 )
可能取决于你LANG和你的LC设置,但是这对我有用:
unset LANG 2>/dev/null unset LC_MONETARY 2>/dev/null unset LC_NUMERIC 2>/dev/null unset LC_MESSAGES 2>/dev/null unset LC_COLLATE 2>/dev/null unset LC_CTYPE 2>/dev/null ssh -l username hostname
在我的情况下,我从一个Linux机器连接到Windows主机(运行cygwin和其他相关软件)。
奇怪的尝试连接到Windows服务器确实工作,但分配交互式terminal失败。 检查下面的ssh -vv
日志。
... Authentication succeeded ... Entering interactive session Requesting authentication agent forwarding. Sending environment. Sending env LANG = en_US.UTF-8 PTY allocation request failed on channel 4 ...
我的同事发现,这是因为在windows服务器上有许多开放的进程,它使用和我一样的login凭证,并且进行一些自动批处理操作。
暂时杀死它,做了诡计,并允许我的SSH连接成功。
windows + cygwin最有可能在这方面有最大的限制。 当这些进程完成运行时,仍然需要正确地解除分配资源。
当我再次登上时,
warning: can't open /etc/fstab: No such file or directory
但,
mount devpts /dev/pts -t devpts
做的伎俩
参考: http : //www.iitk.ac.in/LDP/LDP/lfs/5.0/html/chapter06/proc.html