当我想连接到我的服务器这样的时候
ssh -a username@my-server.de -p 22
Run Code Online (Sandbox Code Playgroud)
它给了我两个错误消息:
PTY allocation request failed on channel 0
shell request failed on channel 0
Run Code Online (Sandbox Code Playgroud)
当我使用参数时-T
,第一个错误消息消失了.但是如何修复第二个呢?我无法连接.对于其他服务器,我可以毫无问题地连接.
我在MAC OS 10.9上参数-v
显示了这个调试输出:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to xxx.your-server.de [188.40.3.15] port 22.
debug1: Connection established.
debug1: identity file /Users/xxx/.ssh/id_rsa type -1
debug1: identity file /Users/xxx/.ssh/id_rsa-cert type -1
debug1: identity file /Users/xxx/.ssh/id_dsa type -1
debug1: identity file /Users/xxx/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version mod_sftp/0.9.8
debug1: no match: mod_sftp/0.9.8
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 55:f5:ca:ca:01:45:0f:7b:71:0a:1f:ba:9e:25:17:fb
debug1: Host 'xxx.your-server.de' is known and matches the RSA host key.
debug1: Found key in /Users/xxx/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/xxx/.ssh/id_rsa
debug1: Trying private key: /Users/xxx/.ssh/id_dsa
debug1: Next authentication method: password
Run Code Online (Sandbox Code Playgroud)
输入密码后我得到了这个
debug1: Authentication succeeded (password).
Authenticated to xxx.your-server.de ([xxx.xxx.3.15]:22).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = de_DE.UTF-8
shell request failed on channel 0
Run Code Online (Sandbox Code Playgroud)
vha*_*ron 21
通道0上的PTY分配请求失败
系统上有256个伪终端的限制.也许你有一个泄漏伪终端的应用程序.使用
lsof /dev/pts/*
Run Code Online (Sandbox Code Playgroud)
看看哪些进程有开放的伪终端
通道0上的shell请求失败
我收到此错误(没有PTY分配错误).事实证明,我的一个应用程序(QtCreator 3.0.?)正在泄露Zombie进程.其他用户能够登录,因此我可能已经达到了我的每个用户进程配额(如果有这样的事情).我已更新到QtCreator 3.3.到现在为止还挺好.
raj*_*alx 17
卸载和挂载/dev/pts
为我工作
umount /dev/pts
mount devpts /dev/pts -t devpts
Run Code Online (Sandbox Code Playgroud)
参考:http://www.iitk.ac.in/LDP/LDP/lfs/5.0/html/chapter06/proc.html
eww*_*ink 10
shell request failed on channel 0
意味着您没有 shell 或远程命令访问权限,请修复服务器上的用户权限以具有 shell 访问权限,或者如果您只想使用隧道-N
和-T
选项
尝试这个:
vi /etc/security/limits.d/20-nproc.conf
* soft nproc 4096 # change to 65535
root soft nproc unlimited
Run Code Online (Sandbox Code Playgroud)
小智 7
我解决了我们的一个用户的类似问题,他仅用于 ssh 端口转发,因此他不需要访问 PTY,并且在 .ssh/authorized_keys 文件中被禁止:
no-pty ssh-rsa AAA...nUB9 someuser
Run Code Online (Sandbox Code Playgroud)
因此,当您尝试登录此用户时,只有消息
PTY allocation request failed on channel 0
Run Code Online (Sandbox Code Playgroud)
被退回。所以检查你的用户的authorized_keys 文件。
只需将这些行添加到/etc/mtab
和中/etc/fstab
,然后重新启动系统即可。
none /dev/pts devpts defaults 0 0
Run Code Online (Sandbox Code Playgroud)
我尝试通过ssh连接到我的服务器时遇到了完全相同的错误.我可以看到你正在使用Hetzner提供的服务器在端口22上连接它:
debug1:连接到xxx.your-server.de [188.40.3.15]端口22.
来自Hetzner的官方wiki /文档说:
服务器/计算机(控制台)的加密远程诊断协议.要使用的SSH端口是222.
所以你必须通过端口222连接:
ssh -p 222 username@my-server.de
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
200715 次 |
最近记录: |