IPの代わりにホスト名を介してローカルVMにSSHで接続する

IPの代わりにホスト名を介してローカルVMにSSHで接続する

Ubuntuを実行する仮想マシンがあります。仮想マシンは私のUbuntuマシンのVirtualboxでローカルに実行されます。 SSHを介して接続し、仮想マシンのIPを提供できます。しかし、仮想マシンのIPは変更される可能性があるため、ホスト名を使用したいと思います。だから「ssh」を試しました。[Eメール保護]「しかし、「名前またはサービスが不明」と表示されます。ネットワークのRaspberry Piにも同じ方法が適用されます。 「ssh[Eメール保護]「接続に問題はありません。

ここでの違いは何ですか?私のローカルVMでこれが機能しないのはなぜですか? VMのネットワークアダプタはブリッジモードにあり、DHCPを介して自分のルータからIPを取得します。

詳細については編集してください。ホスト名は、マイルータに接続されているデバイスのリストにあります。 「pinghostname.local」も失敗しますが、「pinghostIP」は機能します。 DNSの問題であるに違いありません。

どんなヒントでもありがとう!ヘプシー

答え1

これを行うには名前解決が必要です。 DNSかもしれませんが、独自のDNSサーバーを運営している場合は、別の質問をします。だからわからないと思います。 DNSサーバーもなく、DNSベースの名前解決もありません。

名前解決のもう1つの方法は、ハイパーバイザーホストのファイルに/etc/hosts追加することです。おそらく最も簡単な解決策でしょう。特に、他のコンピュータが仮想マシンにアクセスしていない場合は、さらにそうです。hostname.local/etc/hosts

3番目によく使われる方法はマルチキャストDNS。 「名前は誰ですかhostname.local?」タイプのクエリに応答するために、仮想マシンで実行されるサービスを使用します。 Linuxでは、このサービスの名前は通常「Avahi」です。 Raspberry Piはこれを実行しますが、VMはそうではないかもしれません。あるいは、mDNSクエリが仮想マシンに到達できない可能性があります。

どの名前解決方法が有効になっているかについては、以下を参照してください。所有者文書の用語/etc/nsswitch.conf

関連情報