72 votes

Quelle est la meilleure façon de se connecter en SSH à des machines sur le réseau local ?

J'ai deux ordinateurs, un que j'utilise et un pour les enfants. Je veux pouvoir me connecter à leur ordinateur pour le contrôler (par exemple pour l'éteindre, etc.) mais je suis curieux de savoir quelle est la meilleure façon de le faire. Nous sommes tous deux dans la même maison et partageons la même connexion Internet.

Quelle serait la meilleure façon de procéder ? D'après mes recherches, j'ai lu qu'il fallait installer openssh-server sur l'ordinateur distant, mais je ne sais pas quoi utiliser comme nom d'hôte lors de la tentative de connexion. Habituellement, pour les VPS, c'est l'IP externe, mais comme nous partageons tous les deux une connexion wifi, ce serait l'IP matérielle ? Devrions-nous nous interfacer directement par le réseau local ou en passant par l'internet ?

69voto

Eric Carvalho Points 51571

Cours :

avahi-browse -tl _workstation._tcp

Pour obtenir une liste des postes de travail Ubuntu dans le réseau local, vous pouvez ensuite vous y connecter en exécutant :

ssh <username>@<computer-name>.local

17voto

Steve Robbins Points 1783

Vous pouvez utiliser l'adresse IP pour vous connecter à l'ordinateur de l'enfant. Si vous voulez utiliser le nom de l'ordinateur, modifiez votre fichier /etc/hosts pour inclure le nom de l'ordinateur.

192.168.1.104  dad
192.168.1.105  kids

13voto

PAC Points 231

Avant de faire ssh Vérifiez le client et le serveur ssh. Si vous n'avez pas ces services, installez-les avec les commandes suivantes :

sudo apt-get install openssh-client

sudo apt-get install openssh-server

Si vous les avez déjà installés, faites-le :

ssh username@ipaddress

et saisissez le mot de passe de connexion du dispositif de connexion.

  • Exemple :

    ssh prem@192.168.1.145
    
    prem@192.168.1.145's password:********

Si vous obtenez une erreur comme : Permission denied, please try again. Veuillez vérifier deux fois le nom d'utilisateur et l'adresse IP.

8voto

Jeremy Frey Points 1463

J'utilise le fichier ~/.ssh/config que ssh analyse automatiquement, voici un exemple :

Host *
ControlMaster auto
ControlPath /tmp/%r@%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

Notez que vous pouvez utiliser n'importe quelle variable (côté client) dans ce fichier et la définir soit globalement, soit par serveur.

6voto

Fil Points 1651
  1. Vous pouvez vous connecter directement à une IP locale à condition que votre réseau local utilise des IP statiques, par exemple
    ssh someuser@192.168.1.2

  2. Vous pouvez éditer le fichier hosts sur les deux ordinateurs, comme le mentionne Ed Manet dans son article intitulé réponse . De cette façon, vous pouvez ensuite utiliser le nom d'hôte de l'ordinateur, c'est-à-dire ssh someuser@some_hostname

  3. Vous pouvez configurer un serveur DNS local pour résoudre les hôtes de votre réseau local. De cette façon, vous serez en mesure d'utiliser le nom d'hôte de l'ordinateur comme dans l'option 2, mais avec l'avantage supplémentaire d'éviter d'éditer chaque fichier hosts, en pointant votre serveur DNS dans les paramètres réseau d'Ubuntu.

DNSMasq est un très bon serveur DNS, facile à configurer.
Une autre option est BIND .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X