Linux에서 IPv6 주소는 끝에 백분율 기호가 있는 범위 ID를 가질 수 있습니다. 예를 들어: fe80::1%usb0
. 보다IPv6 주소에 백분율 기호 '%'가 있는 이유는 무엇입니까?
내 SSH 구성에 이러한 항목을 추가하고 싶지만 HostName fe80::1%usb0
에 추가하면 ~/.ssh/config
오류가 발생합니다.
percent_expand: unknown key %u
답변1
다음과 같이 백분율 기호를 두 배로 늘려야 합니다.
Host vmiab
HostName fe80::1%%usb0
SSH 구성%h
에는 및 와 같은 다양한 대체가 있으며 %l
문자 그대로 백분율 기호를 원할 경우 로 이스케이프해야 합니다 %%
.
답변2
zsh의 명령줄에서 여전히 프록시 명령을 수행하려는 경우 ipv6 주소와 함께 사용하는 방법에 대한 예는 다음과 같습니다.
ssh -v -o "ProxyCommand sush -W \[%h\]:%p your_jump_server" your_user@aabb:aabb:aabb:aabb:aabb:aabb:aabb:0000
h
이제 인수에 이스케이프된 대괄호가 있지만 ipv6에는 대괄호가 없는지 확인하세요 .
답변3
백분율 기호를 이스케이프하는 것 외에 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에서 대괄호를 사용하는 것이 더 좋습니다.