이제 ~/.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
- 이를 위해 일치를 사용하는 방법:https://unix.stackexchange.com/a/175395/572363
- 현재 인터페이스를 얻는 방법:https://unix.stackexchange.com/a/347049/572363
- 특히 내 컴퓨터에서 사용되는 명명 규칙을 따르기 때문에 인터페이스 구문 분석이 향상될 수 있습니다.