エラー:
ssh_exchange_identification:リモートホストによって接続が閉じられました
多くの提案された解決策がありますが、どれも私の問題を解決していないようです。
これが私が達成したいことです:
サーバー(10.0.0.5)SSHがあります。サーバーには、次のユーザーとそのシェルがあります。
passport , Shell=/bin/false
user1, Shell=git-Shell
user2, Shell=git-Shell
me, Shell=bash
sshd_config
ファイルには、最後に次のエントリがあります。
AllowTcpForwarding no
Match User passport,user1,user2
AllowTcpForwarding true
PermitOpen 10.0.0.5:8080
PermitOpen 10.0.0.5:22
公開鍵認証も有効にしました。目標は、SSHからのすべてのtcp転送を無効にし、上記のユーザーのみが2つのポートで転送できるようにすることです。
- SSH
- a web server
私の/etc/hosts.allow
ファイルと.deny
ファイルにはエントリがありません。
authorized_keys file
に適切な/home/passport/.ssh/authorized_keys
(ssh-rsa ...のみ)を設定します。
Windowsマシンから、SSHを試してください。
ssh [email protected] -N -L 22:10.0.0.5:22 -L 8080:10.0.0.5:8080
「http://127.0.0.1:8080
にサーフィンしようとすると」これは正常に機能します。これは、ポート転送が正常に機能することを意味します。
ここで、そのトンネルを介してSSHを実行し、「user1」を使用したいと思います。
ssh -N [email protected]
現時点では、次のようになります。
ssh_exchange_identification:リモートホストによって接続が閉じられました
一方、Windowsマシンから直接SSHを実行するだけで、成功します。
ssh -N [email protected]
なぜ動かないのかわかりません。
/var/log/auth.log
を調べて、次のことを確認します。
Feb 4 10:28:23 myhost sshd[2097]: debug1: server_input_channel_open: ctype direct-tcpip rchan 257 win 16384 max 16384
Feb 4 10:28:23 myhost sshd[2097]: debug1: server_request_direct_tcpip: originator 0.0.0.0 port 0, target 10.0.0.5 port 22
Feb 4 10:28:23 myhost sshd[2097]: Received request to connect to Host 10.0.0.5 port 22, but the request was denied.
Feb 4 10:28:23 myhost sshd[2097]: debug1: server_input_channel_open: failure direct-tcpip
Iptablesを-F
でフラッシュし、sshdを再起動しようとしましたが、それでも接続が閉じられたというエラーが発生します。
トンネル経由でsshできないのはなぜですか?
「パスポート」ユーザーを作成した理由は、ユーザーが自分のネットワークにリモートでログインできるようにするためです。彼らはウェブサーバーを使用できるようになります。
ここで、GITを使用する場合は、たとえば次のものを使用します。
git clone ssh://[email protected]/repos/repo.git
Linux2.6.32とOpenSSH5.5p1でDebian6を実行しています
私の問題を解決する方法についてアドバイスしてください。質問と同じタイトルの質問にリストされているすべての解決策を試しましたが、役に立ちませんでした。
指定できるPermitOpen
ディレクティブは1つだけです。複数の転送を許可する場合は、空白で区切った同じ行にそれらを指定します。
PermitOpen 10.0.0.5:8080 10.0.0.5:22
OpenSSHは最初に見つかったディレクティブを適用しているようです。