Linuxでは、IPv6アドレスの最後にパーセント記号を付けたスコープIDを付けることができます。例:fe80::1%usb0
。 IPv6アドレスにパーセント記号 '%'があるのはなぜですか? を参照してください。
そのようなエントリをssh設定に追加したいのですが、HostName fe80::1%usb0
を~/.ssh/config
に追加すると、エラーが発生します。
percent_expand: unknown key %u
次のように、パーセント記号を2倍にする必要があります。
Host vmiab
HostName fe80::1%%usb0
ssh-config には、%h
や%l
などのさまざまな置換があり、リテラルのパーセント記号が必要な場合は、%%
としてエスケープする必要があります。
パーセント記号のエスケープに加えて、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で角かっこを使用することをお勧めします。