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?
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
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
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.
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.
Vous pouvez ssh directement sur une adresse IP locale à condition que votre réseau local utilise des adresses IP statiques, par exemplessh [email protected]
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
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 .
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.
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.
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.
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).