IPではなく名前でLinuxに接続する


18

Linux(現在Ubuntu 10.04を実行中)が初めてで、LinuxマシンへのSSHアクセスのセットアップが完了しました。現在、ssh root@x.x.x.x接続に使用する必要がありますが、IPをコンピューター名(Windowsの\\name場合など)またはドメイン名(などcomputername.example.com)に交換できる可能性が非常に高いです。

どこから始めればいいかわからないので、どんな助けでも大歓迎です。前述のように、ゆっくりと進んでください-私はまだこれが初めてです。


編集1

Windows 7から(PuTTY経由で)接続しようとしていることを完全に忘れてしまいました-ごめんなさい。


LAN内から接続しようとしていますか、それとも世界のどこからでも接続しようとしていますか?
カールビーレフェルト

6
また、FYIがルートとしてsshを介した接続を許可することは、一般的にセキュリティ上悪い考えと見なされます。通常のユーザーとしてログインし、そこからsuまたはsudoを使用することをお勧めします。
カールビーレフェルト

私のLANと世界の両方(私は世界のアクセスを設定する方法を知っているので、この質問はLANにより適していると思います)-そしてroot @は何よりも例でした-私は実際にユーザーを使用しています。
ライオール

たくさんのすばらしい答え-みんなのおかげで-最も詳細なものを選んだので、私は1つを選ばなければなりませんでした。
ライオール

回答:


36

ゼロ構成のLAN検出プロトコル、優先順:

  • mDNS
    • 主にApple製品と一部のLinuxプログラムで使用されますが、Windowsおよびその他のプラットフォームでも使用できます。IPマルチキャストを使用します。
    • 名前検索とサービス検出の両方を提供します。
    • ホスト名は常にフォームにありname.localます。
    • ソフトウェア:
      • Windows 10.1709以降でネイティブにサポートされています(レジストリ経由で有効にする必要があります)。
      • 古いWindowsのBonjour
      • Avahiはnss_mdnsLinux上で。
      • OS XおよびiOS(および、おそらくAndroid)でネイティブにサポートされています。
  • LLMNR
    • NetBIOSネームサービスの最新の代替として、Windows Vista以降で名前解決に使用されます。
    • mDNSと非常によく似ていますが、機能が少なく、特にサービス検出がありません(WindowsはそのためにWS-Discoveryプロトコルを使用します)。
    • 裸のホスト名を使用します(NBNSと同様ですが、mDNSとは異なります)。
    • ソフトウェア:
      • Windows Vista以降でネイティブにサポートされています。
      • systemd-resolvednss_resolveLinux で(systemd 216の一部)。。
  • NetBIOSネームサービス
    • Windows、OS / 2、MS-DOSで使用されている古い NetBIOSネットワークプロトコルスイートの一部。まだ使用中です。新しいネットワークで使用を開始する言い訳ではありません。
    • 名前解決と(ある程度)サービスの発見を提供します-Windowsの別名「ネットワークネイバーフッド」または「マイネットワーク」。
    • IPv4ブロードキャスト(多少おしゃべり)を使用し、おしゃべりを減らすために独自の複雑で愚かな「ブラウザ選択」プロトコルを使用します。IPv6はまったくサポートされていません。
    • ソフトウェア:
      • WindowsおよびOS / 2でネイティブにサポートされています。
      • nmbdnss_winsSambaの一部)with LinuxおよびBSD;
      • どうやらOS Xはネイティブにもサポートしていますか?

多くの場合、事前に構成されているメソッド:

  • ローカル(内部)ドメイン名を使用する DNS
    • ホームゲートウェイは、ローカルDNSキャッシュの一部として、このビルトインを持つ傾向があります。dnsmasqLinux / BSDベースのゲートウェイを設定している場合、手動で実行できることが多いのが通常のことです。
    • DHCPリクエストからホスト名を取得し、dnsmasq内でのようなドメインの下に登録しhome、自分自身をメインDNSサーバーとして提供します(DNSキャッシュとして機能します)。
    • ほとんどのオペレーティングシステムでデフォルトで動作しますが、DHCPでのみ(ゲートウェイは静的IPホストのホスト名を認識しません)、通常、私の経験ではかなり不安定になる傾向があります。
    • ソフトウェア:
      • ホスト上の通常のDHCPクライアント。ホスト名オプションを送信する必要があります。
      • dnsmasqゲートウェイ上。(より大きなセットアップではdhcpd+を使用できますnamed。)

手動構成を伴う方法:

  • 独自のドメイン名を使用した DNS
    • どこでも動作します。(ただし、実際にインターネット経由で接続することはできません。)
    • DHCPを使用してDNSサーバーを制御する場合は、ダイナミックDNSが可能です。それ以外の場合、すべてのデータは静的です。
    • ドメイン名を所有する必要があります(数ドルの費用がかかります)。
  • 無料のDNSサブドメイン
    • それでもDNSは、ただの無料(またはドメインよりもはるかに安い)ですが、非常に限られています。FreeDNSDynなどのサービスは、それらが制御するドメイン(たとえばmyhost.dyndns.com)の下に個々のサブドメインの登録を提供します。
      • あまりにも頻繁に、サブドメインはすでに他の誰かによって選択されています...
    • 多くの場合、動的DNS更新が許可されています(DynDNSスタイル)。
  • /etc/hosts
    • IPアドレスとホスト名のペアをリストしたテキストファイル。各クライアントマシンで手動で構成する必要があります。
    • %SystemRoot%\system32\drivers\etc\hostsWindowsの場合)
  • SSH構成
    • PuTTYまたは~/.ssh/configOpenSSH の「ホスト名」フィールド。
    • 手動で構成する必要があります。
  • PostItはデスク全体にメモします
    • とても安い。命名ポリシーはありません。無限のデータ型。
    • むしろ信頼できない。手動で配布する必要があります。TTLはありません。誰かが気付くまで何ヶ月もの間、古い情報がキャッシュされることがよくあります。クエリアルゴリズムは非効率的です。クエリへの応答は簡単に失われる傾向があり、場合によってはモニターに接着剤の記録が残るだけです。(3か月後、机の後ろでバッファリングされることがあります。)

7
ハハ、私はPostItノートオプションが好きです:)
Ryall

1
mDNS / Avahiの場合は+1。Avahiは多くのディストリビューションでデフォルトでインストールされていますが、あなたのパッケージのインストールであるかもしれません。
ブラム

1
Debianでは、Avahiを手動でインストールする必要があります。
マーティンUeding

2
@grawity良い答え。ただし、改善すべき点が1つあります。登録済みのドメインがなくても、ローカルDNS / DHCPが完全に機能することを忘れないでください。Raspberry PIを机の下に置き、dnsmasqなどで小さなサーバーをセットアップするだけです。
パラドキソン14

1
@paradoxon:ありがとう、それについて言及するのを忘れました。(ほとんどのホームゲートウェイは、dnsmasqまたは同様の、ただしクラッピアを既に実行しています。)
user1686 14

4

2つのオプション。

  • すべてのサービス:

のエントリをに入れ/etc/hostsます。既存の行に触れないで、新しい行を追加します。

  • sshのみ:

使用する名前のHostスタンザを追加し、~/.ssh/configその下に必要なオプションを追加します。詳細man 5 ssh_configを参照してください。

Host myserver
    Hostname 192.168.123.234
    Protocol 2

4

任意のコンピューターからLinuxボックスにアクセスする場合は、ドメイン名が必要です。動的DNSサービスを使用して、ドメイン名をLinuxコンピューター(または接続先のルーター)に向けます。これを設定すると、LinuxコンピュータのIPが常に変化することを心配する必要がないという追加の利点が得られます。


1
明確にするために、コンピューターのIPアドレスは(ISPがその内容を管理する方法に応じて)変更される場合がありますが、動的DNSサービスは現在のドメイン名に常にマップされるドメイン名を提供するため、コンピューターのIPアドレスは。
デビッドZ

4

Windows 7から(編集ごとに)...

Start -> Run -> notepad c:\windows\system32\drivers\etc\hosts

メモ帳が起動したら、ファイルの一番下に移動して、IPアドレスとホスト名を追加します。

x.x.x.x    mylinuxhostname mylinuxhostname.domain.com

ファイルを保存してから、コマンドプロンプトからpingを実行します。

c:\> ping mylinuxhostname
c:\> ping mylinuxhostname.domain.com

これはLANからのみ機能します。「あなたのコメントによると」「世界」からそれに接続することは、DNS(dyndns、godaddyなど)と(NAT)ネットワークアドレス変換などのルーター構成を含むまったく異なる獣です。


2

SambaまたはWinbindを調査する必要があります。私のすべてのLinuxネットワーク(ルーターを含む)はホスト名で相互に通信できますが、Linuxマシンの名前をWindowsに伝える方法がわかりません。


1
私のネットワークは、Avahi(Zeroconfネットワーク)のためにこれを行っています。WindowsでのZeroconfクライアント/サーバーの実行可能性はわかりません。
ブラム

1

また、Ubuntu 10.04を使用しており、名前を使用してマシンに接続できます。同じネットワーク上にあるernieとbertという名前のコンピューターがあるとします。

アーニーのプロンプトは次のようになります。

ernie:~$ 

これを入力すると:

ernie:~$ ssh root@bert.local

私はバートのルートになります:

bert:~#

私は2台のubuntuマシン間でこれを行いますが、パテでも動作すると思います。(UbuntuからWindowsに接続することについては知りません。sambaに関する他の回答を参照してください。)

これを機能させるには、Ubuntuにsshdをインストールする必要があります。 sudo apt-get install openssh-server


1
これは、デフォルトでインストールされるZeroconfデーモンであるAvahiが原因です。また、彼は何らかの他の理由にクライアントを持っていない限り、Windows上で彼を助けることはないだろう(多分iTunesのインストール1私が言うことができない?。)
Broam
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.