sshトンネルエラー「ssh_exchange_identification:接続がリモートホストによって閉じられました」


10

オフィスマシンからホームマシンへのsshトンネルを使用しようとしていますが、使用しようとするとエラーが発生します。

私がやっていることは次のように1つのシェルを開始することです:

ssh -gL 12345:my.home.domain:22 my.home.domain

これは私に適切なシェルを与えています、問題ありません。私が通常行うことは、次のように、このオフィスマシンを介してホームマシンにSSHで接続することです。

ssh -p 12345 127.0.0.1

これは、先週まで、ホームマシンに新しいシステムをセットアップする(UbuntuからDebianに切り替える)まで、私にとっては常にうまくいきました。エラーが発生します。私はまだ最初のssh接続を開くことができますが、そのトンネルを使用しようとすると、(オフィスマシンで)次のエラーが発生します。

ssh_exchange_identification: Connection closed by remote host

また、それが発生すると、私がトンネリングを設定したオープンシェルが次の行を生成します。

channel 3: open failed: connect failed: Connection timed out

その時点で、私は途方に暮れています。さらに情報が必要な場合は、投稿させていただきます。

=============それにさらに==============

さらにいじくり回した後、さまざまなポートでTelnetを実行しようとすると、サーバー(私のホームマシン)から別の応答が返されることがわかりました。私が試した場合:

telnet my.home.domain 22

私はこれを取り戻します:

Trying <my ip address>...
Connected to <my domain>.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze2

これは私が期待することです。トンネルをセットアップしてからtelnet接続すると、次のような応答が表示されます。

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

==============さらに、さらに==================

あたりとしてkbulgrienさんの提案、ここで-vオプションを使用してクライアントマシンからの出力は次のとおりです。

ssh -vp 24600 127.0.0.1
OpenSSH_5.9p1 Debian-5ubuntu1、OpenSSL 1.0.1 2012年3月14日
debug1:構成データの読み取り/ etc / ssh / ssh_config
debug1:/ etc / ssh / ssh_config行19:*のオプションの適用
debug1:127.0.0.1 [127.0.0.1]ポート24600に接続しています。
debug1:接続が確立されました。
debug1:IDファイル/home/jacob/.ssh/id_rsaタイプ-1
debug1:IDファイル/home/jacob/.ssh/id_rsa-cert type -1
debug1:IDファイル/home/jacob/.ssh/id_dsaタイプ-1
debug1:IDファイル/home/jacob/.ssh/id_dsa-cert type -1
debug1:IDファイル/home/jacob/.ssh/id_ecdsaタイプ-1
debug1:IDファイル/home/jacob/.ssh/id_ecdsa-cert type -1
ssh_exchange_identification:リモートホストによって接続が閉じられました


ssh_exchange_identification: Connection closed by remote hostエラーの原因の1つは、にリストされている接続ホストに関連しています/etc/hosts.deny
Zoredache 2013年

Hm-そのマシンで/ets/hosts.denyをcatすると、すべての行が注釈されます。
ジェイコブユーイング2013年

-v失敗したsshコマンドに追加することを提案できますか?次の出力は、その他の失敗の兆候を示しますか(つまりchannel 1: open failed: administratively prohibited: open failed)。
kbulgrien 2013年

2
申し訳ありませんが、-vトンネルと失敗したsshコマンドの両方(を超えるものを探すchannel 3: open failed: connect failed: Connection timed out)があると便利だと思いました。-v冗長性を高めるために複数(最大3つ)を追加できることに言及することは注目に値するかもしれません。私は必ずしも全体を掲載する必要はありませんが、問題を示しているように見える単語を調べるのは価値があるかもしれません。
kbulgrien 2013年

回答:


1

おそらく、パスワードの挿入を待っているsshのセッションが10以上ある場合、そのようなエラーが発生します。これは最近のsshのバグだったことを覚えています。これを確認するには、以下のコマンドを使用します

for i in {1..15};do ssh -fNt pippo@remote.server.com & >/dev/null ;done

0

最近のインストールでこのようなことが起こりました。この状況では、/ etc / hosts.denyが存在し、明示的にアクセスを拒否する設定がなかったため、状況は似ています。/etc/hosts.allowを変更して、次のようなものを追加する必要がありました。

sshd: 192.168.127.0/255.255.255.128

IPの詳細は、ニーズに合わせて調整する必要があります。またはALL、どこからでもsshを許可することに懸念がない場合は、置き換える必要があります。

変更後、sshdを停止して再起動します。

次の質問への賛成回答は、より多くの例を提供します。

SSH hosts.denyおよびhosts.allow

エラーメッセージと解決策を関連付ける他の誰かの証言は次のとおりです。

修正方法:ssh_exchange_identification:SSHでログインしたときのリモートホストの問題により接続が閉じられました


うーん-悲しいことにそれは私のためにそれを修正しませんでした。私の状況は、例の状況とは異なると思います。ポート22で問題なくSSHで接続できます。上記のエラーが表示されるのは、別のポートをトンネリングしようとしたときだけです。
Jacob Ewing 2013年

トンネルが独特の違いであることを認めた。それを考えると、このヘルプを行います。discussion.dreamhost.com/thread-97951.html?また、debianのようなシステムでsshdパッケージをアンインストールして再インストールすると、説明した動作を引き起こすキーの問題が修正されるという指摘への言及も見つかりました(discussion.dreamhost.com/thread-97951.htmlなど)。 。
kbulgrien 2013年

両方のシステムにsshd(openssh-server)がインストールされていますか?
kbulgrien 2013年

ユピアップ。私はこれをかなり長い間行っており、私の家のマシン(サーバー)でDebianに切り替えた後にのみ先週問題が発生しました。今夜家に帰ったら、sshdのアンインストール/再インストールの提案を試します。
Jacob Ewing 2013年

0

私は同じ問題を抱えていて、最終的には以下を修正することで問題を解決しました/etc/network/interfaces

auto eth0
iface eth0 inet static

または

auto eth0
iface eth0 inet dhcp

その設定がないと、sshトンネルへの逆接続を取得できません。


0

私の場合、/etc/ssh/sshd_configゲートウェイマシンに次の行を挿入する必要がありました。

Match User <username>
   GatewayPorts yes

詳細はこちら

お役に立てれば!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.