sshトンネル-バインド:要求されたアドレスを割り当てることができません


26

ソックス(-D)sshトンネルを作成しようとしています-LinuxボックスからLinuxボックス(両方ともcentos):

リモート側で実行されているsshdは問題ありません。

ローカルマシンから、これを実行/表示します。

ssh -D 1080 user@8.8.8.8.
user@8.8.8.8's password: 
bind: Cannot assign requested address

(ここで、8.8.8.8は実際に私のサーバーのIPであり、「ユーザー」は実際のユーザー名です)

この端末ウィンドウでリモート側にログインしています。このコマンドの前にローカルポートが使用されていないことを確認でき、コマンドの後に、次の方法でsshプロセスで使用されます。

netstat -lnp | grep 1080

したがって、このエラーを伴うほとんどのgoogled-responsesとは異なり、問題はループバックインターフェイスの割り当てではないようです。メールクライアントでこのトンネルを使用しようとすると、ローカル側は試行を許可しますが(「プロキシエラー」エラーはありません)、データ/応答は返されません。

リモート側では、sshd_configに「PermitTunnel yes」があります(とにかく「yes」がデフォルトです)。

アイデアまたは手掛かり?

関連するデバッグ出力は次のとおりです

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *

....

debug1: Authentication succeeded (password).
debug1: Local connections to LOCALHOST:1080 forwarded to remote address socks:0
debug1: Local forwarding listening on 127.0.0.1 port 1080.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on ::1 port 1080.
bind: Cannot assign requested address
debug1: channel 1: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.utf8

その他の手がかり:Windowsを実行しているクライアントで仮想ボックスを実行する場合、そのボックスにパテを含むトンネルを開きます。そのトンネルは、同じリモートサーバーに機能します。

Stranger Still」Linuxクライアント上で直接実行されるPutty(Linux用)を使用する場合、同じ仮想ボックス内のWindows上で実行されるPuttyで動作するPutty設定とまったく同じ設定であっても機能しませんクライアントマシン??怪しいものがあります...それが何であるかを理解するためにまだ実験を試みています。


ipv4を使用するように強制するとどうなりますか?(最初のトラブルシューティングテストとして)。例えば ssh -4 -D 1080 user@8.8.8.8
フレッド・クラウゼン

4000より大きいポート番号を試すことはできますか?
jwbensley

入力いただきありがとうございます。私は仕事にそれを得ます。ssh -4 -D 8081 user@8.8.8.8
JosephK

回答:


41

ここでループを閉じます。この場合の答えは、sshクライアントに強制的にipv4を使用させることでした。例えば

ssh -4 -D 8081 user@8.8.8.8

だから、成功せずにパテで「force ip4」(Linux上で実行)を選択できることを除いて、私は思うだろう。また、このマシンではIPV6が無効になっているため、理論的には動作していないはずです。完全に一貫性のない結果を私はまだこのことの異なる順列を試して取得しますが、私は私の頭をかきます。いずれにせよ、あなたの答えは私がそれを機能させるのを助け、おそらくこのバージョンのCentOSまたはLinuxカーネルまたはそのようなものがどのように動作しているかについて奇妙なことを発見しました-ありがとう。
JosephK

ロングショットですが、おそらくサーバーでSSH DNS解決をオフにすると、sshd_configの「UseDNS no」が解決する可能性があります。おそらく、サーバーで奇妙なDNS解決が行われ、バインドの問題が発生している可能性があります。
フレッドクラウゼン

1
おかげで、-4はUbuntu 11.04のソリューションでもありました。
サンダー

Ubuntu 13.04へのアップグレード後にこの問題が発生し始めましたが、これが修正されました。
ニック

1
毎回-4を指定する代わりに、すべてのssh接続がIPv4のみで行われると仮定して、「AddressFamily inet」をssh_configファイルに追加します-ユーザーごとに$ {HOME} /。ssh / ssh_config / etc / ssh / ssh_config内のすべてのユーザ
JGミラー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.