it-swarm.com.de

Was ist der beste Weg, um Maschinen im lokalen Netzwerk mit SSH zu versorgen?

Ich habe 2 Computer, einen, den ich benutze und einen für die Kinder. Ich möchte in der Lage sein, in ihren Computer zu ssh, um ihn zu steuern (wie es herunterzufahren usw.), aber ich bin neugierig, der beste Weg, dies zu tun. Wir sind beide im selben Haus und teilen uns die gleiche Internetverbindung.

Was wäre der beste Weg, dies zu tun? Aus der Forschung habe ich gelesen, dass ich openssh-server auf dem Remote-Computer installieren soll, bin aber ratlos, was ich für den Hostnamen verwenden soll, wenn ich versuche, eine Verbindung herzustellen. Normalerweise ist es für VPS die externe IP, aber da wir beide eine WLAN-Verbindung teilen, ist es dann die Hardware-IP? Sollten wir eine direkte Verbindung über LAN oder über das Internet herstellen?

60
dukevin

Lauf:

avahi-browse -tl _workstation._tcp

Um eine Liste der Ubuntu-Workstations im lokalen Netzwerk zu erhalten, können Sie eine Verbindung zu ihnen herstellen, indem Sie Folgendes ausführen:

ssh <username>@<computer-name>.local
57
Eric Carvalho

Sie können die IP-Adresse verwenden, um in den Computer des Kindes zu sshen. Wenn Sie den Computernamen verwenden möchten, bearbeiten Sie die Datei/etc/hosts so, dass sie den Computernamen enthält.

192.168.1.104  dad
192.168.1.105  kids
15
Ed Manet

Ich verwende die Datei ~/.ssh/config, die ssh automatisch analysiert. Hier ein Beispiel:

Host *
ControlMaster auto
ControlPath /tmp/%[email protected]%h:%p

KeepAlive yes 
ServerAliveInterval 60
ServerAliveCountMax 10
ControlPersist 1h

Host server1
        User user1
        HostName server1-web.example.org

Host server2
        User user2
        HostName server2-db.example.org
        Compression yes
        IdentityFile /home/user/.ssh/different_key.pem

Beachten Sie, dass Sie jede (clientseitige) Variable in dieser Datei verwenden und entweder global oder pro Server festlegen können.

8
Shadok

Überprüfen Sie vor dem Ausführen von ssh, ob ssh-Client und -Server vorhanden sind. Wenn Sie diesen Dienst nicht installiert haben

 Sudo apt-get install openssh-client

 Sudo apt-get install openssh-server

Wenn du es schon getan hast

 ssh [email protected]

 Enter connecting device login password.

Beispiel

 ssh [email protected]

 [email protected]'s password:********

Wenn Sie einen Fehler wie "Berechtigung verweigert, versuchen Sie es erneut."

Bitte überprüfen Sie den Benutzernamen und die IP-Adresse zweimal.

8
PAC
  1. Sie können direkt zu einer lokalen IP-Adresse senden, sofern Ihr LAN beispielsweise statische IP-Adressen verwendet
    ssh [email protected]

  2. Sie können die Hosts-Datei auf beiden Computern bearbeiten, wie von Ed Manet in seinem Antwort erwähnt. Auf diese Weise können Sie dann den Hostnamen des Computers verwenden, das heißt ssh [email protected]_hostname.

  3. Sie können einen lokalen DNS-Server einrichten, um die Hosts Ihres LANs aufzulösen. Auf diese Weise können Sie den Hostnamen des Computers wie in Option 2 verwenden, aber zusätzlich vermeiden, dass jede Hostdatei bearbeitet wird, indem Sie in den Netzwerkeinstellungen von Ubuntu auf Ihren DNS-Server verweisen.

DNSMasq ist ein ziemlich guter DNS-Server, der einfach einzurichten ist.
Eine andere Option ist BIND .

5
Stef K

Verwenden Sie die lokale LAN-IP-Adresse. Bei der alternativen Vorgehensweise muss ein Port für das Internet geöffnet sein, damit Sie sich anmelden können.

Außerdem benötigen Sie eine Portzuordnung (auf dem Router). Wenn Sie Ihre "öffentliche" IP-Adresse (auf dem Router) als Ziel verwenden, wird nicht eine Verbindung zu einem Ihrer beiden PCs hergestellt.


Am einfachsten ist es, jede IP-Adresse (für Ihre 2 Computer) auf dem Router dauerhaft zuzuweisen. Stellen Sie dann einfach eine Verbindung zu dieser IP-Adresse her.

Wenn Sie (später) clever werden möchten, richten Sie einen Server ein und verwenden Sie einen lokalen DNS-Dienst, um jedem Gerät aussagekräftige Namen zuzuweisen. Nicht wirklich die Mühe wert für nur 2 PCs.

3
david6

Wenn Sie dieselbe Internetverbindung nutzen, befinden Sie sich höchstwahrscheinlich hinter demselben WLAN-Router. So verbinden Sie sich direkt mit Ihrem Kindercomputer:

ssh <IP-address>

oder:

ssh <user-name>@<IP-address>

Offensichtlich funktioniert dies besser, wenn der Kindercomputer eine statische IP-Adresse hat. Andernfalls müssen Sie immer überprüfen, wie hoch die IP-Adresse ist. Die meisten Router haben die Möglichkeit, ausgewählten Geräten statische (immer gleiche) IP-Adressen zuzuweisen. Einige Router haben auch die Option, einem bestimmten Gerät einen Hostnamen zuzuweisen - dann würden "Kinder" für jedes Gerät mit derselben Netzwerkadresse dasselbe bedeuten. Wenn Sie Hostnamen mit der Datei/etc/hosts zuweisen, ist der Hostname nur dem Computer bekannt, auf dem sich diese Hostdatei befindet. Dies setzt auch voraus, dass der Kindercomputer eine statische IP-Adresse hat.

Sie können auch auf diesem Computer eine statische IP-Adresse für Kindercomputer festlegen, aber ich rate Ihnen, die Netzwerkeinstellungen im Router festzulegen. Ein Kontrollpunkt - einfacher zu verwalten. Wenn etwas unklar ist, hinterlasse einen Kommentar und ich werde meine Antwort erweitern.

2
Tanel Mae

Sie können dem Computer Ihres Kindes einfach einen Computernamen zuweisen.
Dann mach einfach,
ssh MachineName

Ich habe das nie benutzt, nur einen Gedanken in meinem Kopf, den ich teilte.

0
Gaurav Gandhi

Sie können die IP-Adresse anstelle eines Hostnamens verwenden oder einen benutzerdefinierten Hostnamen in Ihrer /etc/hosts -Datei zuweisen.

Um die IP auf dem Computer des Kindes zu erhalten: im Netzwerkmenü siehe "Verbindungsinformationen" oderifconfig in der Befehlszeile ausführen (diese müssen auf dem Computer des Kindes durchgeführt werden).

Ihr WLAN-Router weist diese IP-Adressen zu, und Sie sollten in der Lage sein, sie so zu konfigurieren, dass sie bestimmte IP-Adressen für die Computer enthält, denen sie derzeit zugewiesen sind. (Andernfalls können sich die IP-Adressen von Zeit zu Zeit ändern.).

0
AmanicA