web-dev-qa-db-ja.com

リクエストを修正する方法はチャンネル0で失敗しました

このようにサーバーに接続したいとき

ssh -a [email protected] -p 22

2つのエラーメッセージが表示されます。

PTY allocation request failed on channel 0
Shell request failed on channel 0

パラメータ-Tを使用すると、最初のエラーメッセージが消えます。しかし、2番目のものを修正する方法は?接続できません。他のサーバーに問題なく接続できます。

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

パスワードを入力した後、これを取得します

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
57
user1895268

チャネル0でPTY割り当て要求が失敗しました

システムには256の擬似端末の制限があります。おそらく、擬似端末をリークしているアプリケーションがあるでしょう。つかいます

lsof /dev/pts/*

どのプロセスが擬似端末を開いているかを確認する

シェル要求はチャネル0で失敗しました

このエラーが発生しました(PTY割り当てエラーなし)。私のアプリケーションの1つ(QtCreator 3.0。?)がZombieプロセスをリークしていたことがわかりました。他のユーザーはログインできたので、ユーザーごとのプロセスクォータに達している可能性があります(そのようなことがある場合)。 QtCreator 3.3に更新しました。ここまでは順調ですね。

18
vharron

アンマウントとマウント/dev/ptsは私のために働いた

umount /dev/pts

mount devpts /dev/pts -t devpts

リファレンス: http://www.iitk.ac.in/LDP/LDP/lfs/5.0/html/chapter06/proc.html

15
rajagopalx

Ssh経由でサーバーに接続しようとすると、まったく同じエラーが発生しました。私が見ることができるように、ポート22でそれに接続するHetznerによって提供されるサーバーを使用している:

debug1:xxx.your-server.de [188.40.3.15]ポート22への接続.

Hetzner の公式wiki /ドキュメントには次のように書かれています:

サーバー/コンピューター(コンソール)の暗号化されたリモート診断のプロトコル。使用されるSSHポートは222です。

したがって、ポート222を介して接続する必要があります。

ssh -p 222 [email protected]
5
tecmec

これらの行を/etc/mtabおよび/etc/fstabに追加して、システムを再起動するだけです。

none    /dev/pts    devpts    defaults    0    0
5
Mansur Ali

Sshポート転送のみに使用されているユーザーの1人で同様の問題を解決したため、PTYにアクセスする必要はなく、.ssh/authorized_keysファイルで禁止されていました。

no-pty ssh-rsa AAA...nUB9 someuser

したがって、このユーザーにログインしようとすると、メッセージのみ

PTY allocation request failed on channel 0

返されました。そのため、ユーザーのauthorized_keysファイルを確認してください。

2
Ondrej Homolka

古い質問ですが、誰かが私のようにここに来たら...

これは、サーバーの日付が間違っていることが原因である可能性があります。組み込みシステムで作業している場合、これが原因である可能性があります...日付を確認してください:

$ date
1

aWSコンソールからインスタンスを再起動するとうまくいきました。 lsofがファイルの接続をリークしていることがわかりました。

1
randhir singh

VMをスピンアップするときに時々これを見る。当社の自動化システムは更新の適用を開始するため、タイミングによっては重要なパッケージの更新が行われる可能性があります。

アップショット-これは、sshまたは他の関連パッケージが宛先マシンで更新されている場合に発生する可能性があります。

0
Criggie

これを試して:

vi /etc/security/limits.d/20-nproc.conf
*          soft    nproc     4096   # change to 65535 
root       soft    nproc     unlimited
0
xmduhan

Git bashの使用中にこのエラーが発生しました。 git for windowsを再インストールすることでこれを解決できました。詳細はこちら answer

0
user3885927

私も同じ問題に直面しました。サーバーを再起動するだけで問題は解決しました。

0
gargvive

/ dev/ptsを再マウントするとうまくいきます。影響を受けるマシンに対してこのようなsshを実行すると、sshを介してリモートでこれを行うことができます。 sshはこのようなコマンドを実行するときにttyを要求しないため、これにより/ dev/ptsをリモートで再マウントできます

ssh user @ Host-'mount -o remount、rw/dev/pts'

0

Shell request failed on channel 0

シェルまたはリモートコマンドにアクセスできないことを意味します。シェルのアクセス権を持つようにサーバーのユーザー権限を修正するか、単にトンネリングが必要な場合は-Nおよび-Tオプションを使用します。

0
ewwink

ちょうどわかった、私の場合の問題は何でしたか(プロバイダーストラト):最終的に「シェルリクエストがチャネル0で失敗しました」という出力で同じ問題が発生しました。

ログインとしてWebドメイン名を使用してマスターパスワードを使用する必要があります。 (ドイツ語www.wunschname.deでは、wunschnameはWebアドレスです。)

Sftpユーザー名と対応するパスワードを使用したsshログインは成功しません。 (scpとsftpはこれらのsftpユーザーで動作しますが!)

0
feli_x