无法通过 SSH 连接到服务器 - “服务器拒绝分配 pty”

flo*_*hge 10 ubuntu ssh login ubuntu-10.10

我有一个运行 Ubuntu 10.10 的 STRATO V-PowerServer,但最近通过 ssh 连接到服务器时出现问题。

基本上我所拥有的只是对服务器的 ssh 访问,如果需要,我可以启动到恢复模式,我的所有东西都在 /repair 中,以便我可以对系统进行任何修复。

问题是,当我尝试通过 ssh 连接到服务器时,出现此错误:

Using username "florian".
florian@mydomain.de's password:
Server refused to allocate pty
Linux hwn36335 2.6.18-028stab070.5 #1 SMP Fri Sep 17 15:37:23 MSD 2010 i686 GNU/Linux
     Ubuntu 10.10

                 Welcome to Ubuntu!
                                    * Documentation:  https://help.ubuntu.com/
                                                                              /home/florian/.zlogin:1: command not found: display_info
Run Code Online (Sandbox Code Playgroud)

所以外壳没有打开,我无法输入任何命令。我已经尝试在谷歌上搜索“服务器拒绝分配 pty”,但找不到任何有帮助的东西,尽管这个问题以前也发生在其他人身上。此外,我有时甚至会收到不同的错误:“通道 0 上的 pty 分配请求失败”而不是其他错误。对于这个问题,我能找到的是:

http://blog.dinotools.de/2010/10/03/fehler-pty-allocation-request-failed-on-channel-0

但不幸的是它没有帮助......

有人知道为什么会导致此错误以及我可以尝试修复它吗?

如果你能给我一些建议就太好了。我知道一些基本的东西,知道如​​何使用我的服务器,但如果它深入解决问题,我就在我的极限...... ;-) 谢谢!

补充1:

/var/log/auth.log

Jan 24 16:20:01 h1696522 CRON[3417]: PAM unable to dlopen(/lib/security/pam_smbpass.so): /lib/security/pam_smbpass.so: cannot open shared object file: No such file or directory
Jan 24 16:20:01 h1696522 CRON[3417]: PAM adding faulty module: /lib/security/pam_smbpass.so
Jan 24 16:20:01 h1696522 CRON[3417]: pam_unix(cron:session): session opened for user www-data by (uid=0)
Jan 24 16:20:03 h1696522 CRON[3417]: pam_unix(cron:session): session closed for user www-data
Run Code Online (Sandbox Code Playgroud)

/var/log/daemon.log

Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50003.vdb - dwr50003.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50004.vdb - dwr50004.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50005.vdb - dwr50005.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50006.vdb - dwr50006.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50007.vdb - dwr50007.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50008.vdb - dwr50008.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50009.vdb - dwr50009.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwrtoday.vdb - dwrtoday.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/updates/timestamp -    timestamp with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/update.drl -   update.drl with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: deleting old files ...
Jan 24 16:00:02 h1696522 update.pl[14292]: moving downloaded files from temporary to working directory ...
Jan 24 16:00:02 h1696522 update.pl[14292]: sending notifications ...
Jan 24 16:00:02 h1696522 update.pl[14292]: summary => updated: 0, removed: 0 files and 0 messages
Jan 24 16:00:02 h1696522 update.pl[14292]: Finish Success:   2011-01-24 16:00:02
Jan 24 16:00:02 h1696522 update.pl[14292]: Socket path is /var/drweb/run/updateSock
Run Code Online (Sandbox Code Playgroud)

小智 7

如果您有控制台访问权限

mount devpts /dev/pts -t devpts
Run Code Online (Sandbox Code Playgroud)


pet*_*rus 3

您是否尝试重新创建 pty 和 tty 设备?

root@mydomain.de:~# /sbin/MAKEDEV tty
root@mydomain.de:~# /sbin/MAKEDEV pty
Run Code Online (Sandbox Code Playgroud)

这似乎是虚拟服务器上的一个已知问题......

如果您无权访问任何 shell,您可以尝试通过 ssh 发送命令:

florian@localmachine:~$ ssh root@mydomain.de "/sbin/MAKEDEV tty"
florian@localmachine:~$ ssh root@mydomain.de "/sbin/MAKEDEV pty"
Run Code Online (Sandbox Code Playgroud)

编辑以反映您的评论:

如果您使用 chroot,您还必须挂载 /proc、/dev 和 /sys :

root@h1696522:/# mount -o bind /proc /repair/proc
root@h1696522:/# mount -o bind /dev /repair/dev
root@h1696522:/# mount -o bind /sys /repair/sys
Run Code Online (Sandbox Code Playgroud)

现在应该可以了。