it-swarm-ja.com

SSH overIPv6で「アクセスが拒否されました」エラーが発生しました

SSH overIPv4アドレスで接続できるサーバーがあります。ここで、IPv6を介してSSHを使用します。

サーバーに有効なIPv6アドレスが割り当てられていることを確認し、v6アドレスでリッスンするようにsshdを構成しました(これを[::]:311に設定しました)が、実行すると(私のラップトップ上)

ssh -v -6 -p 311 PUBLIC_V6_IP -l same_user_as_v4 -i ~/.ssh/id_rsa

次の出力が得られました。

OpenSSH_5.8p2, OpenSSL 1.0.0d 8 Feb 2011
debug1: Reading configuration data /home/winus/.ssh/config
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to PUBLIC_V6_IP [PUBLIC_V6_IP] port 311.
debug1: connect to address PUBLIC_V6_IP port 311: Permission denied
ssh: connect to Host PUBLIC_V6_IP port 311: Permission denied

いくつかの追加情報:

  1. 私のラップトップはArchLinuxを実行していますが、サーバーはUbuntu Server10.10です。
  2. サーバー上のsshd-VはOpenSSH_5.5p1 Debian-4ubuntu5, OpenSSL 0.9.8o 01 Jun 2010を示します
  3. 私のラップトップのssh-VはOpenSSH_5.8p2, OpenSSL 1.0.0d 8 Feb 2011を示しています
  4. 私のラップトップのssh-6 :: 1はOKです。
  5. ping6PUBLIC_V6_IPはOKです。
  6. サーバー上のssh-6 :: 1 -p311はOKです。
  7. サーバー上のssh-6 PUBLIC_V6_IP -p311もOKです。

質問:何が起こっているのか誰か知っていますか?

5
Limbo Peng

考えられる原因は次のとおりです。

  • ローカルファイアウォール(ip6tables

  • ネットワーク上の外部ファイアウォール(一部のソースによると、ICMPv6の「管理上禁止されています」エラーメッセージはLinuxによってEACCESSとして解釈されます)

  • AppArmor、SELinux、Smack(ただし、Archではデフォルトでどちらもオンになっていません)

あなたが試すことができること:

  • ip6tablesルールをリセットします

  • 他のプログラムを使用してサーバーに接続します(socat stdio tcp:[2604:....]:311)そしてそれらが同じメッセージを返すかどうかを確認します。同じポートと異なるポートの両方でテストする

  • ping6traceroute6、ホップが「管理上禁止」またはその他のエラーを返すかどうかを確認します

1
user1686