web-dev-qa-db-fra.com

Quel est le meilleur moyen de passer de SSH aux machines du réseau local?

J'ai 2 ordinateurs, un que j'utilise et un pour les enfants. Je veux être capable de ssh dans leur ordinateur pour le contrôler (comme pour le fermer, etc.) mais je suis curieux de savoir la meilleure façon de le faire. Nous sommes tous les deux dans la même maison et partageons la même connexion Internet.

Quelle serait la meilleure façon de faire cela? D'après mes recherches, j'ai lu pour installer openssh-server sur l'ordinateur distant, mais je ne sais pas quoi utiliser pour le nom d'hôte lors d'une tentative de connexion. Habituellement, pour les VPS, c'est l'adresse IP externe, mais puisque nous partageons tous les deux une connexion wifi, s'agit-il de l'adresse IP matérielle? Devrions-nous nous interfacer directement par LAN ou par Internet?

58
dukevin

Courir:

avahi-browse -tl _workstation._tcp

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

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

Vous pouvez utiliser l'adresse IP pour SSH dans l'ordinateur de l'enfant. Si vous souhaitez 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
15
Ed Manet

J'utilise le fichier ~/.ssh/config que ssh analyse automatiquement, en 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 globalement ou par serveur.

8
Shadok

Avant de faire ssh, vérifiez le client et le serveur ssh. Si vous n'avez pas ce service installer

 Sudo apt-get install openssh-client

 Sudo apt-get install openssh-server

Si vous avez déjà fait

 ssh username@ipaddress

 Enter connecting device login password.

Exemple :

 ssh [email protected]

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

Si vous rencontrez une erreur du type: "Autorisation refusée, veuillez réessayer."

Veuillez vérifier deux fois pour le nom d'utilisateur et l'ip.

8
PAC
  1. Vous pouvez ssh directement sur une adresse IP locale à condition que votre réseau local utilise des adresses IP statiques, par exemple
    ssh [email protected]

  2. Vous pouvez éditer le fichier hosts sur les deux ordinateurs, comme mentionné par Ed Manet dans son réponse . De cette façon, vous pouvez alors utiliser ssh en utilisant le nom d’hôte de l’ordinateur, à savoir 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 pourrez utiliser SSH avec le nom d'hôte de l'ordinateur comme dans l'option 2, tout en évitant l'édition de tous les fichiers hôtes en pointant votre serveur DNS dans les paramètres réseau d'Ubuntu.

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

5
Stef K

Utilisez l'adresse IP du réseau local. L’approche alternative nécessite que certains ports soient ouverts sur Internet pour vous permettre de vous connecter.

En outre, vous aurez besoin d'un mappage de port (sur le routeur). Utiliser votre adresse IP 'publique' (sur le routeur) comme cible et non ne se connectera pas à l'un de vos deux PC.


Le moyen le plus simple consiste à attribuer en permanence chaque adresse IP (pour vos 2 ordinateurs) sur le routeur. Ensuite, connectez-vous simplement à cette adresse IP.

Si vous voulez être intelligent (plus tard), configurez un serveur et commencez à utiliser un service DNS local pour attribuer des noms significatifs à chaque périphérique. Ne vaut vraiment pas la peine pour seulement 2 PC.

3
david6

Si vous partagez la même connexion Internet, vous êtes probablement derrière le même routeur wifi. Donc, vous vous connectez directement à l'ordinateur de vos enfants:

ssh <IP-address>

ou:

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

Évidemment, cela fonctionne mieux si l'ordinateur des enfants a une adresse IP statique. Sinon, vous devez toujours vérifier quelle est l'adresse IP. La plupart des routeurs ont la possibilité d'attribuer une adresse IP statique (toujours la même) aux périphériques choisis. Certains routeurs ont également la possibilité d’attribuer un nom d’hôte à un périphérique donné - pour tous les périphériques de la même adresse réseau, "enfants" signifierait la même chose. Si vous attribuez des noms d'hôte avec le fichier/etc/hosts, le nom d'hôte n'est connu que de l'ordinateur sur lequel se trouve ce fichier. En outre, cela suppose que l'ordinateur des enfants a une adresse IP statique.

Vous pouvez définir une adresse IP statique sur un ordinateur pour enfants également sur cette machine, mais je vous conseille de configurer les paramètres réseau dans le routeur. Un point de contrôle - plus facile à gérer. Si quelque chose n'est pas clair, laissez un commentaire et je développerai ma réponse.

2
Tanel Mae

Vous pouvez simplement attribuer un nom de calcul à la machine de votre enfant.
Alors faites simplement,
ssh MachineName

Je n'ai jamais utilisé cela, juste une pensée dans ma tête que j'ai partagée.

0
Gaurav Gandhi

Vous pouvez utiliser l'adresse IP à la place d'un nom d'hôte ou attribuer un nom d'hôte personnalisé dans votre fichier /etc/hosts.

Pour obtenir l'adresse IP sur l'ordinateur de l'enfant: dans le menu réseau, voir "Informations de connexion" o exécutez ifconfig sur la ligne de commande (ces opérations doivent être effectuées sur l'ordinateur de l'enfant).

Votre routeur wifi attribue ces adresses IP et vous devriez pouvoir le configurer pour conserver des adresses IP spécifiques pour les ordinateurs auxquels il est actuellement affecté. (Sinon, l'adresse IP peut changer de temps en temps).

0
AmanicA