SSH 구성에서 하나의 IPv6 호스트 이름에 여러 인터페이스 추가

SSH 구성에서 하나의 IPv6 호스트 이름에 여러 인터페이스 추가

이제 ~/.ssh/config링크-로컬 IPv6을 통해 내장된 장치에 액세스할 수 있습니다.

Host someDevice
    # Hostname fe80::dcad:beff:feef:cafe%%eth0
    Hostname fe80::dcad:beff:feef:cafe%%enxf875a44106f9
    User root
    [some more options...]

네트워크 인터페이스가 변경될 때마다 수동으로 상호 작용하고 싶지 않습니다.

  • 둘 다 주석 처리되면 SSH는 첫 번째 항목만 사용합니다.
  • 각 호스트에 대해 다른 호스트를 사용하는 것은 비현실적입니다.

아직 자동화한 사람이 있나요?

이제 저는 이것을 실현하기 위해 연구 match하고 서류를 제출하고 있습니다. /etc/hosts저는 SSH 구성 파일에서 구성하는 것을 선호합니다.

답변1

이는 임베디드 장치가 mDns를 지원하는 경우 가장 쉬운 방법입니다.

IPv6이어야 하는 경우: 작동하지만 완벽하지는 않습니다.

# If eth0 is UP, use eth0:
Match originalhost  exec "[ $(ip a | awk '/state UP/ {print $2}' | grep eth) == 'eth0:' ]"
    Hostname fe80:::dcad:beff:feef:cafe%%eth0

# Default is enxf875
Host someDevice
    Hostname fe80::dcad:beff:feef:cafe%%enxf875a44106f9
    User root

관련 정보