web-dev-qa-db-ja.com

スコープIDを持つIPv6アドレスをssh設定ファイルに追加するにはどうすればよいですか?

Linuxでは、IPv6アドレスの最後にパーセント記号を付けたスコープIDを付けることができます。例:fe80::1%usb0IPv6アドレスにパーセント記号 '%'があるのはなぜですか? を参照してください。

そのようなエントリをssh設定に追加したいのですが、HostName fe80::1%usb0~/.ssh/configに追加すると、エラーが発生します。

percent_expand: unknown key %u
6
Tor Klingberg

次のように、パーセント記号を2倍にする必要があります。

Host vmiab
    HostName fe80::1%%usb0

ssh-config には、%h%lなどのさまざまな置換があり、リテラルのパーセント記号が必要な場合は、%%としてエスケープする必要があります。

8
Tor Klingberg

パーセント記号のエスケープに加えて、ipv6アドレスを角かっこで囲む必要がある場合があります[]
ホスト名がProxyCommandによって使用される場合に必要です。

Host vmiab
    HostName [fe80::1%%usb]
    ProxyCommand ssh my_proxy_Host -W %h:%p

または、ホストを囲むこともできます[%h] ProxyCommand内(推奨されるソリューション

Host vmiab
    HostName fe80::1%%usb
    ProxyCommand ssh my_proxy_Host -W [%h]:%p

ホスト名で角かっこを使用するとProxyCommandでのみ機能しますが、そうでないと失敗するため、ProxyCommandで角かっこを使用することをお勧めします。

1
jeb