web-dev-qa-db-ja.com

SSH経由でサーバーに接続できない-「サーバーがptyの割り当てを拒否しました」

Ubuntu 10.10でSTRATO V-PowerServerを実行していますが、最近、sshを介したサーバーへの接続に問題があります。

基本的に私が持っているのはサーバーへのsshアクセスだけです。必要に応じて、すべてのものが/ repairにあるリカバリモードで起動して、システムで修正を行うことができます。

問題は、ssh経由でサーバーに接続しようとすると、次のエラーが発生することです。

Using username "florian".
[email protected]'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

そのため、シェルが開かず、コマンドを入力できません。私はすでに「サーバーがptyの割り当てを拒否しました」でグーグルしようとしましたが、問題は以前に他の人に起こりましたが、役立つものを見つけることができませんでした。さらに、別のエラーが発生することもあります。「pty割り当てリクエストが他のエラーの代わりにチャネル0で失敗しました。この問題について私が見つけたすべてはこれでした:

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

しかし、残念ながらそれは助けにはなりませんでした...

誰かがこのエラーが発生する理由と私がそれを修正しようとすることができるものを知っていますか?

あなたが私にヒントを与えることができれば素晴らしいでしょう。私はいくつかの基本的なことを知っており、サーバーでの作業方法を知っていますが、これが問題解決に深く関わる場合、私は限界に達しています... ;-)ありがとうございます!

加算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

/ 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
10
florianbaethge

Ptyおよびttyデバイスを再作成しようとしましたか?

[email protected]:~# /sbin/MAKEDEV tty
[email protected]:~# /sbin/MAKEDEV pty

仮想サーバーの既知の問題のようです...

シェルにアクセスできない場合は、ssh経由でコマンドを送信してみてください。

florian@localmachine:~$ ssh [email protected] "/sbin/MAKEDEV tty"
florian@localmachine:~$ ssh [email protected] "/sbin/MAKEDEV pty"

あなたのコメントを反映するように編集:

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

これで動作するはずです。

3
petrus

コンソールにアクセスできる場合

mount devpts /dev/pts -t devpts
7
Andre

このエラーを発見した回数を修正して、udevパッケージがインストールされて実行されていることを証明しました。 Udevは、sshが必要とするPTS/xのように、必要なときにデバイスノードを作成します。試してみる。

3
coredump

これを試して:

ssh root@Host "mount -o remount /dev/pts"
1
Evgeniy

ここに掲載されていることを組み合わせてやらなければならなかった。私の権限は間違っていて、/dev/ptsはすでにマウントされています。

mount -t devpts -o remount,seclabel,nosuid,noexec,uid=0,gid=5,mode=620 devpts /dev/pts

これを使用して、権限が正しいことを確認します。

grep devpts /proc/mounts

また、/dev/pts。これは755で、ルートが所有している必要があります。

ls -dl /dev/pts
chmod 755 /dev/pts
chown root:root /dev/pts

Sshd_configファイルを確認します。 PermitTTYをnoに設定しないでください。それがコメントアウトされているか、はいに設定されている場合。次に、sshdを再起動します。

vi /etc/ssh/sshd_config
service sshd restart
systemctl restart sshd
0
cokedude