SSH設定で1つのIPv6ホスト名に複数のインターフェイスを追加する

SSH設定で1つの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

関連情報