web-dev-qa-db-fra.com

SSHing impossible à Ubuntu via un nom d’hôte et un port autre que 22

J'essaie de me connecter à Ubuntu via SSH à partir d'OS X et j'ai suivi la même procédure que celle décrite dans cette page ( https://help.ubuntu.com/10.04/serverguide/openssh-server.html ). Après l'avoir paramétré, j'ai essayé de me connecter sous la forme username@ip_address, puis le processus a abouti et j'ai réussi à utiliser Ubuntu à partir d'un terminal OS X (cette fois-ci, j'ai utilisé le port 22). Cependant, lorsque j'ai essayé d'utiliser SSH pour Ubuntu sous la forme de username@hostname, je ne pouvais pas et l'erreur ssh: Could not resolve hostname my_user_name: nodename nor servname provided, or not known s'est produite. J'ai aussi essayé de me connecter via le port 2222 en changeant /etc/ssh/sshd_config, puis en échouant en crachant l'erreur debug1: connect to address my_ip_address port 22: Connection refused (cette fois j'ai essayé de me connecter par adresse IP).

Donc, je pense que ce dernier problème découle du fait que je dois aussi apporter des modifications sous OS X, mais je ne sais pas où/comment faire et je ne sais pas si c'est vrai en premier lieu.

Le premier numéro est plus agaçant, car je ne suis pas sûr de pouvoir le comprendre correctement. J'ai utilisé hostname comme valeur obtenue en exécutant hostname sur Ubuntu Terminal ... mais est-ce correct? Et quand j'ai cherché le problème sur le Web, je savais qu'il s'agissait d'un problème de DNS ... mais je ne sais pas ce que c'est et comment le résoudre ...

Merci.

3
Blaszard

Sous Terminal sous OS X lorsque vous utilisez ssh pour établir une connexion distante à l'aide d'un nom d'hôte sur un réseau local, ajoutez le suffixe .local de sorte que la commande indique ssh [email protected] Si vous devez remplacer le port 22 par défaut, Dans votre exemple d’utilisation du port 2222, ajoutez -p 2222 à la commande. Vous pouvez également le configurer dans la boîte de dialogue "Nouvelle connexion à distance .." du terminal (Commande + Maj + K) pour un accès facile.

4
douggro

Lorsque vous avez exécuté ssh username@hostname, l'ordinateur auquel vous vous connectez (votre Mac OS) ne connaît pas l'adresse IP de cette hostname, c'est pourquoi il vous dit que ssh: Could not resolve hostname. Vous devez donc indiquer à votre Mac que cette hostname est ceci ip_address. Pour ce faire sur votre Mac, this page vous explique comment procéder. Fondamentalement, vous devez faire Sudo nano /private/etc/hosts (Sudo nano /etc/hosts sous Mac OS X 10.7 et versions ultérieures) et ajouter une ligne à la fin du fichier, comme suit:

ip_address       hostname

Avec l'adresse IP et le nom d'hôte réels de votre machine Ubuntu. Une fois cela fait, Ctrl + O, puis Entrée, puis Ctrl + X pour enregistrer et fermer le fichier. Ensuite, faites dscacheutil -flushcache pour que les modifications prennent effet. Maintenant, quand vous faites ssh username@hostname, cela devrait fonctionner.

Et à propos de ce port 2222:

Vous avez raison, vous devez apporter quelques modifications sous Mac OS ... Bon, il ne s'agit que de quelques caractères supplémentaires. Quand vous faites ssh username@hostname, ce qui se passe réellement à l'arrière-plan est ssh username@hostname -p22, car le port 22 est le port SSH par défaut. Toutefois, si vous savez que la machine à laquelle vous essayez de vous connecter utilise un autre port, vous devrez le spécifier manuellement. Donc, puisque vous avez changé le port sur Ubuntu en 2222, vous devrez faire ssh username@hostname -p2222. Cela n’a rien à voir avec l’utilisation de hostname ou ip_address.

0
Alaa Ali