LANでipv6 ubuntuにsshする方法は?


57

コマンドを使用してUbuntuボックスにpingを実行できます:(c2h2tttは/ etc / hostsにリストされています)

c2h2@c2h2crawler:~/ttt$ ping6 -I eth1 c2h2ttt
PING c2h2ttt(c2h2ttt) from fe80::21b:21ff:fe22:e865 eth1: 56 data bytes
64 bytes from c2h2ttt: icmp_seq=1 ttl=64 time=10.3 ms
64 bytes from c2h2ttt: icmp_seq=2 ttl=64 time=2.06 ms
64 bytes from c2h2ttt: icmp_seq=3 ttl=64 time=1.33 ms

そして、私が試しssh -6 c2h2tttてみるとそれが表示されます:

c2h2@c2h2crawler:~/ttt$ ssh -6 c2h2ttt
ssh: connect to host c2h2ttt port 22: Invalid argument

正しいコマンドは何ですか?


サーバー側の/ etc / ssh / sshd_configには次のものがあります。

ListenAddress ::
ListenAddress 0.0.0.0

私は、ポート22上でIPv4経由c2h2tttへのSSHすることができたとnetstat -lnt | grep :22あります

root@c2h2think:~# netstat -lnt | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

ufwが使用され、ポート22のインバウンドトラフィックを許可します

root@c2h2think:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere

そして、iptables設定:

root@c2h2think:~# ip6tables -L -v -n
Chain INPUT (policy DROP 55 packets, 10758 bytes)
pkts bytes target     prot opt in     out     source               destination 
    0     0 ACCEPT     all      lo     *       ::/0                 ::/0        

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
    0     0 ACCEPT     all      *      lo      ::/0                 ::/0  

sshd.confファイルを編集するか、sshdを再起動して、リッスンする新しいv6アドレスがあることを認識する必要がある場合があります。

netstat -lnt | grep :22(22を含むリスニング数値tcpソケットを開く)の内容を確認してください。
一時的な

あなたはやった ...右ip6tablesを持つオープンポート22を?
イグナシオバスケス-エイブラムス

1秒、ip6tablesをチェック
c2h2

回答:


89

sshクライアントへのインターフェースを指定してみてください。ping6ユーティリティを使用すると、インターフェイスを指定できますが、sshにはそのためのスイッチがないため、次の構文を使用する必要があります。

ssh -6 fe80 :: 21b:21ff:fe22:e865%eth1

2
うわー、ありがとうございます!eth1の問題のため
c2h2

2
それを試してみた、私のためにも働いた!なぜインターフェイスを指定する必要があるのですか?
マックスベイキルヒ

9
@MaxBeikirch。これは、すべての完全に機能するネットワークインターフェイスにfe80:アドレスがあるためです。そのため、システムはトラフィックを送信するインターフェイスを認識しません。これはトラフィックルーティングの問題です。他のアドレスについては、コンピューターがルートを「近くの」アドレス(同じサブネット内のアドレス)に割り当てるため、システムはしばしばインテリジェントな選択を行いますが、fe80では機能しません。すべてのネットワークインターフェースが同じサブネットの一部であるためです。
TOOGAM

1
@TOOGAMでホストのインターフェース接尾辞を指定するにはどうすればよい~/.ssh/configですか?
PVitt

@PVitt:通常の方法は、システム識別子(IPアドレスなど)を指定し、パーセント記号を追加してから、IPv6の最後に%eth1を追加した回答が示すように、インターフェイス名を追加することです。住所。eth1はインターフェイス識別子でした。それが機能しない場合は、[configという名前のOpenSSHのファイルのmanページ](man.openbsd.org/cgi-bin/man.cgi?query=ssh_config&sektion=5)を確認し、それが役に立たない場合は、より詳細な情報が記載された新しい質問(SuperUser)
-TOOGAM

8

リンクローカルアドレスは、SSHに使用されることは想定されていません。低レベルのプロトコルブートストラップ用です。ネットワークで使用するISP提供のプレフィックスがない場合は、代わりにfd00 :: / 8から一意のローカルプレフィックスを生成します。

http://en.wikipedia.org/wiki/Unique_local_address


//、しかしグローバルIPv6インターネットでルーティング可能なIPV6アドレスにどのようにアクセスしますか?
ネイサンバサニーズ

@NathanBasanese:ISPはIPv6サービスを提供するか、ハリケーンエレクトリックの
ラドゥC

3
リンクローカルアドレスはネットワークアドレスです。SSHに使用する場合は、先に進みます。この質問とジョンTの答えが議論するもののように、どんな合併症も処理する方法を知ってください。ULA(fd00 :: / 8)が期待どおりに割り当てられなかった場合がありました。その場合、リンクローカル(fe80 :: / 16)を使用したSSHはうまく機能しました。リンクローカルを避けるのは、ルーティングを処理する手間(インターフェイスを指定する必要があるため)だけですが、アドレスが技術的にトラフィックを送受信できないためではありません。
TOOGAM

2

SSH IPv6を接続するには、ほとんどの場合、コンピューターにIPv6 ISP接続があります。

root@hostname[~]# ssh -6 2205:f200:40:401::9ab4:8b43

このコマンドは、SSHキーの確認を初めて要求します。タイプよりY/Yes

注:2205:f200:40:401::9ab4:8b43IPv6を意味します。このIPv6の唯一の例なので、IPv6を置き換えることを忘れないでください。

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