Verbinden Sie sich mit Linux nach Namen und nicht nach IP

Ich bin neu in Linux (derzeit läuft Ubuntu 10.04) und habe gerade den SSH-Zugriff auf meinen Linux-Computer eingerichtet. Derzeit muss ich ssh [email protected] verwenden, um eine Verbindung herzustellen, aber ich möchte die IP lieber gegen den Computernamen (wie in Windows mit \\name) oder einen Domainnamen (wie computername.example.com) austauschen können.

Ich weiß wirklich nicht, wo zu beginnen, so dass jede Hilfe wäre am meisten geschätzt. Bitte gehen Sie langsam, wie erwähnt - ich bin noch neu in diesem.


BEARBEITEN 1

Vollkommen vergessen zu erwähnen, dass ich versuche, von Windows 7 (über PuTTY) zu verbinden - sorry.

Author: Community, 2010-09-07

6 answers

Nullkonfigurations-LAN-Erkennungsprotokolle in der Reihenfolge Ihrer Präferenz:

  • mDNS
    • Wird hauptsächlich von Apple-Produkten und einigen Linux-Programmen verwendet, ist aber auch für Windows und möglicherweise andere Plattformen verfügbar.verwendet IP Multicast.
    • Bietet sowohl Namenssuche als auch Serviceerkennung.
    • Hostnamen haben immer die Form name.local.
    • Software:
      • nativ unterstützt unter Windows 10.1709 und höher (muss über Registry);
      • Bonjour bei älteren Fenstern;
      • Avahi mit nss_mdns unter Linux;
      • nativ unterstützt auf OS X und iOS (und, angeblich, Android).
  • LLMNR
    • Verwendet für die Namensauflösung von Windows Vista und höher, als moderne alternative zu NetBIOS name services.
    • Sehr ähnlich zu mDNS, hat aber weniger Funktionen-insbesondere fehlt Service Discovery (Windows verwendet die WS-Discovery-Protokoll dafür).
    • Verwendet bloße Hostnamen (wie NBNS, aber im Gegensatz zu mDNS).
    • Software:
      • Nativ unterstützt von Windows Vista und höher;
      • systemd-resolved mit nss_resolve (Teil von systemd 216) unter Linux. .
  • NetBIOS - name services
    • Teil der [[73]}alten [[74]} NetBIOS - Netzwerkprotokollsuite, die von Windows, OS/2, MS-DOS verwendet wird... Noch im Einsatz. Keine Entschuldigung, um es auf neue zu verwenden Netze.
    • Bietet eine Namensauflösung und (in gewissem Maße) eine Diensterkennung – auch bekannt als "Netzwerk Nachbarschaft" oder "Mein Netzwerk Orte" in Windows.
    • Verwendet IPv4-Übertragungen (etwas gesprächig) und verfügt über ein eigenes komplexes und dummes "Browser-Wahl" - Protokoll, um die Chattiness zu reduzieren. Keine IPv6-Unterstützung überhaupt.
    • Software:
      • Nativ unterstützt unter Windows und OS / 2;
      • nmbd mit nss_wins (Teil von Samba) unter Linux und BSD;
      • Anscheinend OS X unterstützt es auch nativ?

Methoden, die oft für Sie vorkonfiguriert sind:

  • DNS unter Verwendung eines lokalen (internen) Domänennamens
    • Home-Gateways verfügen in der Regel über dieses integrierte Element als Teil des lokalen DNS-Caches. Oft ist es nur reguläres dnsmasq, das Sie manuell ausführen können, wenn Sie ein Linux/BSD-basiertes Gateway einrichten.
    • Sie nehmen den Hostnamen aus Ihrer DHCP-Anfrage und registrieren ihn in dnsmasq unter eine Domäne wie home, und bieten sich als Haupt-DNS-Server (fungieren als DNS-Cache).
    • Funktioniert standardmäßig mit den meisten Betriebssystemen, jedoch nur mit DHCP (das Gateway kennt keine Hostnamen statischer IP-Hosts) und ist meiner Erfahrung nach im Allgemeinen eher flockig.
    • Software:
      • Ein regulärer DHCP-Client auf den Hosts. Muss die Option Hostname senden.
      • dnsmasq auf dem gateway. (Größere Setups könnten dhcpd + named.)

Methoden zur manuellen Konfiguration:

  • DNS mit Ihrem eigenen Domainnamen
    • Funktioniert überall. (Wird Ihnen nicht helfen, tatsächlich verbinden über das Internet, obwohl.)
    • Dynamisches DNS möglich, wenn Sie DHCP verwenden und einen DNS-Server steuern; ansonsten sind alle Daten statisch.
    • Muss einen Domainnamen besitzen (was ein paar Dollar kostet).
  • freier DNS subdomains
    • Noch DNS, nur kostenlos (oder viel billiger als eine Domain), aber auch ziemlich begrenzt. Dienste wie FreeDNS und Dyn bieten die Registrierung einzelner Subdomains unter einer Domäne, die sie kontrollieren (zum Beispiel myhost.dyndns.com).
      • Viel zu oft wurde die Subdomain bereits von jemand anderem ausgewählt...
    • , Dynamische DNS-updates sind oft erlaubt (DynDNS-Stil).
  • /etc/hosts
    • Eine Textdatei mit IP – Adress-Hostname-Paaren, die auf jedem Clientcomputer manuell konfiguriert werden muss.
    • (%SystemRoot%\system32\drivers\etc\hosts unter Windows)
  • SSH-Konfiguration
    • Das Feld "Hostname" in PuTTY oder ~/.ssh/config in OpenSSH.
    • Muss manuell konfiguriert werden.
  • PostIt Notes überall auf Ihrem Schreibtisch
    • Sehr Billig. Keine Benennungsrichtlinie. Unendliche Datentypen.
    • Eher unzuverlässig. Muss manuell verteilt werden. Keine TTL, was oft dazu führt, dass veraltete Informationen monatelang zwischengespeichert werden, bis es jemand bemerkt. Abfragealgorithmen sind ineffizient. Antworten auf Abfragen gehen in der Regel leicht verloren und hinterlassen manchmal nur eine Kleberaufzeichnung auf Ihrem Monitor. (Drei Monate später finden Sie sie möglicherweise hinter Ihrem Schreibtisch gepuffert.)
 41
Author: user1686,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-07-23 12:07:14

Zwei Optionen.

  • Alle Leistungen:

Setzen Sie einen Eintrag dafür in /etc/hosts. Berühren Sie keine vorhandenen Zeilen, fügen Sie eine neue hinzu.

  • nur ssh:

Fügen Sie eine Host - Strophe zu ~/.ssh/config mit dem Namen hinzu, den Sie verwenden möchten, und fügen Sie dann die gewünschten Optionen darunter hinzu. Siehe man 5 ssh_config für weitere Details.

Host myserver
    Hostname 192.168.123.234
    Protocol 2
 4
Author: Ignacio Vazquez-Abrams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-09-07 15:42:35

Wenn Sie von einem beliebigen Computer aus auf die Linux-Box zugreifen möchten, benötigen Sie einen Domainnamen. Verwenden Sie einen dynamischen DNS-Dienst, um einen Domänennamen auf Ihren Linux-Computer (oder den Router, mit dem er verbunden ist) zu verweisen. Sobald Sie dies eingerichtet haben, haben Sie den zusätzlichen Vorteil, dass Sie sich keine Sorgen machen müssen, dass sich die IP Ihres Linux-Computers ständig ändert.

 4
Author: M456,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-09-07 15:50:44

Von Windows 7 (gemäß Ihrer Bearbeitung)...

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

Wenn Notepad gestartet wird, gehen Sie zum Ende der Datei und fügen Sie Ihre IP-Adresse und Ihren Hostnamen hinzu:

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

Speichern Sie die Datei und versuchen Sie, sie über eine Eingabeaufforderung zu pingen:

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

Dies funktioniert nur von Ihrem LAN aus. Eine Verbindung von "the world" (gemäß Ihrem Kommentar hinzugefügt) ist ein völlig anderes Tier, das eine DNS - (dyndns, Godaddy usw.) und Routerkonfiguration wie (NAT) network Address Translation et al.

 4
Author: Matt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-09-07 17:46:12

Du wirst Samba oder Winbind untersuchen wollen. Mein All-Linux-Netzwerk (einschließlich des Routers) kann nach Hostnamen miteinander sprechen, aber ich bin mir nicht sicher, wie ich Windows mitteilen soll, wie der Name eines Linux-Computers lautet.

 2
Author: Broam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-09-07 17:59:18

Ich verwende auch Ubuntu 10.04 und kann über deren Namen eine Verbindung zu meinen Computern herstellen. Angenommen, ich habe Computer namens Ernie und bert, die sich im selben Netzwerk befinden:

Meine Eingabeaufforderung sieht bei Ernie folgendermaßen aus:

ernie:~$ 

Wenn ich folgendes eingebe:

ernie:~$ ssh [email protected]

Ich werde root auf bert sein:

bert:~#

Ich mache das zwischen zwei Ubuntu-Computern, aber ich würde vermuten, dass es auch in Putty funktionieren würde. (Ich weiß nichts über die Verbindung von Ubuntu zu Windows, siehe andere Antworten zu Samba.)

Sie müssen installieren sshd in Ubuntu, damit dies funktioniert: sudo apt-get install openssh-server

 1
Author: idbrii,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-09-07 18:10:12