SSH 구성 파일에 범위 ID가 포함된 IPv6 주소를 어떻게 추가할 수 있나요?

SSH 구성 파일에 범위 ID가 포함된 IPv6 주소를 어떻게 추가할 수 있나요?

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에서 대괄호를 사용하는 것이 더 좋습니다.

관련 정보