Accès SSH sur une VM sur un ordinateur distant
Fermé
cocoshop
-
Modifié le 10 mars 2022 à 16:22
mamiemando Messages postés 33075 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 - 11 mars 2022 à 17:56
mamiemando Messages postés 33075 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 - 11 mars 2022 à 17:56
A voir également:
- Connexion ssh ordinateur distant
- Ordinateur lent - Guide
- Gmail connexion - Guide
- Hotmail connexion - Guide
- Facebook connexion - Guide
- Comment réinitialiser un ordinateur - Guide
6 réponses
avion-f16
Messages postés
19243
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 avril 2024
4 496
10 mars 2022 à 18:46
10 mars 2022 à 18:46
Bonjour,
1) Confirmes-tu que l'hôte est bien en 193.XX.XXX.XX et non en 192.168.x.x ?
2) As-tu vérifié si le service SSH est bien démarré sur la VM ?
3) L'hôte peut-il "ping" la VM ?
4) L'hôte peut-il accéder au serveur SSH de la VM ?
5) Quelle est la configuration du réseau virtuel des VM ? Type NAT ou type routé ?
6) Lorsque tu mets le mode bridge, qu'est-ce qui ne marche pas ? La VM n'obtient pas d'adresse IP ? L'administrateur du réseau auquel l'hôte est connecté permet-il l'ajout d'autres machines par cette méthode ?
1) Confirmes-tu que l'hôte est bien en 193.XX.XXX.XX et non en 192.168.x.x ?
2) As-tu vérifié si le service SSH est bien démarré sur la VM ?
3) L'hôte peut-il "ping" la VM ?
4) L'hôte peut-il accéder au serveur SSH de la VM ?
5) Quelle est la configuration du réseau virtuel des VM ? Type NAT ou type routé ?
6) Lorsque tu mets le mode bridge, qu'est-ce qui ne marche pas ? La VM n'obtient pas d'adresse IP ? L'administrateur du réseau auquel l'hôte est connecté permet-il l'ajout d'autres machines par cette méthode ?
mamiemando
Messages postés
33075
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 avril 2024
7 748
Modifié le 10 mars 2022 à 19:00
Modifié le 10 mars 2022 à 19:00
Bonjour,
Méthode 1 : accès NAT
Tu peux essayer de configurer ta VM pour avoir un accès NAT de sorte à avoir une IP dans le même réseau que la machine hôte. Dès lors tu devrais pouvoir te connecter à l'IP de ta VM, sur le port 22.
Méthode 2 : accès par pont
Si tu préfères faire un accès par pont, il faut effectivement rediriger au niveau de l'Ubuntu hôte un port (disons 2222 si ton Ubuntu hôte a un serveur ssh qui écoute déjà sur le port 22, et rediriger avec iptables le port 2222 vers le port 22 de ta VM). Il est important que l'Ubuntu hôte puisse router la VM (vérifie la table de routage de ta VM et de ton Ubuntu hôte avec
Méthode 3 : proxy ssh
Tu peux utiliser ton Ubuntu hôte comme proxy ssh. Il faut pour cela configurer ton client ssh (sur ta machine Windows) pour définir la connexion ssh vers ton Ubuntu VM en précisant que tu passes par l'Ubuntu hôte en tant que proxy.
En admettant qu'on veuille se connecter à login_target@host_target (ta VM Ubuntu) via login_proxy@host_proxy (ton Ubuntu hôte) on configurerait ainsi (sous Linux :
Ici :
Ceci fait, au niveau du client il suffit alors de lancer :
et tu devrais être directement connecté sur la machine cible. La commande
Une fois la clé ssh installée, tu peux finir de sécuriser tes serveurs ssh pour n'autoriser plus que les authentification par clé (et plus par mot de passe).
Bonne chance
Méthode 1 : accès NAT
Tu peux essayer de configurer ta VM pour avoir un accès NAT de sorte à avoir une IP dans le même réseau que la machine hôte. Dès lors tu devrais pouvoir te connecter à l'IP de ta VM, sur le port 22.
Méthode 2 : accès par pont
Si tu préfères faire un accès par pont, il faut effectivement rediriger au niveau de l'Ubuntu hôte un port (disons 2222 si ton Ubuntu hôte a un serveur ssh qui écoute déjà sur le port 22, et rediriger avec iptables le port 2222 vers le port 22 de ta VM). Il est important que l'Ubuntu hôte puisse router la VM (vérifie la table de routage de ta VM et de ton Ubuntu hôte avec
ip route). Il faut évidemment que le service ssh soit lancé sur ta VM (sur ta VM, contrôle avec
netstat -ntlpque ta VM écoute bien sur le port 22)
Méthode 3 : proxy ssh
Tu peux utiliser ton Ubuntu hôte comme proxy ssh. Il faut pour cela configurer ton client ssh (sur ta machine Windows) pour définir la connexion ssh vers ton Ubuntu VM en précisant que tu passes par l'Ubuntu hôte en tant que proxy.
En admettant qu'on veuille se connecter à login_target@host_target (ta VM Ubuntu) via login_proxy@host_proxy (ton Ubuntu hôte) on configurerait ainsi (sous Linux :
~/.ssh/config) :
# Connection toward login_target@host_target via the ssh proxy login_proxy@host_proxy Host host_target IdentityFile /home/toto/.ssh/id_rsa ForwardAgent yes User login_target HostName host_target ProxyCommand ssh -e none login_proxy@host_proxy exec nc %h %p
Ici :
-
host_target
doit être remplacé par l'IP ou le FQDN de la VM qui doit être routable depuis le proxy ; -
login_target
doit être remplacé par le login utilisé pour te connecté àhost_target
; -
host_proxy
doit être remplacé par l'IP ou le FQDN de la VM qui doit être routable depuis le proxy ; -
login_proxy
doit être remplacé par le login utilisé pour te connecté àhost_target
; - le chemin
/home/toto/.ssh/id_rsa
doit être remplacé par le chemin vers la clé privée que tu auras préalable créé e.g. avecssh-keygen -t rsa -b 2048
. Il faut ensuite installée la clé publique/home/toto/.ssh/id_rsa.pub
surhost_proxy
ethost_target
à l'aide dessh-copy-id
. Cette commande revientà concaténer la clé publique/home/toto/.ssh/id_rsa.pub
à la suite du fichier~login_proxy/.ssh/authorized_keys
surhost_proxy
(au besoin, le créer) et même principe pour la machine cible.
Ceci fait, au niveau du client il suffit alors de lancer :
ssh-agent ssh host_target
et tu devrais être directement connecté sur la machine cible. La commande
ssh-agentpermet de transférer ton identité SSH à travers le proxy et t'évite d'avoir à copier ta clé privée sur d'autres machines. En effet, ta clé privée ne devrait jamais être copiée ailleurs, et rester uniquement sur ta machine cliente.
Une fois la clé ssh installée, tu peux finir de sécuriser tes serveurs ssh pour n'autoriser plus que les authentification par clé (et plus par mot de passe).
Bonne chance
Oui c'est bien en 193.XXX, c'est le serveur d'une école, mais apparemment il n'y a pas de pare-feu ou autre qui pourrait bloquer.
Oui le service SSH est bien démarrer.
L'hôte ne peut pas accéder au ssh non plus, et le ping je sais pas je pourrai voir demain mais ça m'étonnerai.
Le réseau est en NAT, j'ai essayé de créer un chemin avec les ports en changeant un peu tout mais ça ne change rien. J'ai passer le port de l'hôte en 2201 et la VM en 22 (je ne suis pas expert, dsl si c'est pas exact les termes). Et rediriger de l'hôte vers la VM.
Quand je met en pont, le réseau ne marche pas, je n'ai pas de connexion sur la VM et donc pas d'IP "classique".
Je ne sais pas si l'administrateur permet ça mais un informaticien de l'école est venu et ça n'avait pas l'air d'être un soucis.
PS : J'avais vu sur un forum de passer par une ip virtuel de l'hôte style 10.0.2.2, pour ensuite passer sur l'ip de la VM 10.0.2.15, mais ça ne fonctionne toujours pas. Le message d'erreur est port 22 : time out
Oui le service SSH est bien démarrer.
L'hôte ne peut pas accéder au ssh non plus, et le ping je sais pas je pourrai voir demain mais ça m'étonnerai.
Le réseau est en NAT, j'ai essayé de créer un chemin avec les ports en changeant un peu tout mais ça ne change rien. J'ai passer le port de l'hôte en 2201 et la VM en 22 (je ne suis pas expert, dsl si c'est pas exact les termes). Et rediriger de l'hôte vers la VM.
Quand je met en pont, le réseau ne marche pas, je n'ai pas de connexion sur la VM et donc pas d'IP "classique".
Je ne sais pas si l'administrateur permet ça mais un informaticien de l'école est venu et ça n'avait pas l'air d'être un soucis.
PS : J'avais vu sur un forum de passer par une ip virtuel de l'hôte style 10.0.2.2, pour ensuite passer sur l'ip de la VM 10.0.2.15, mais ça ne fonctionne toujours pas. Le message d'erreur est port 22 : time out
avion-f16
Messages postés
19243
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
8 avril 2024
4 496
10 mars 2022 à 19:21
10 mars 2022 à 19:21
Donc l'hôte (le serveur) possède bien une IP routable publiquement, tu peux accéder à 193.x.x.x depuis chez toi ?
Le réseau virtuel est en NAT et, dans le cas où l'administrateur du réseau auquel l'hôte est connecté ne prévoit pas l'apparition d'autres machines sur son réseau, c'est la "bonne" façon de faire.
Dans le cas d'un NAT (virtuel ou pas, qu'importe), il faut effectivement mettre en place une redirection de port depuis l'IP externe vers l'IP locale.
Ta configuration réseau est à priori correcte, tu devrais pouvoir accéder au SSH de la VM en utilisant la cible 193.x.x.x:2201 à condition qu'aucun pare-feu interfère, autant côté distant que local.
> L'hôte ne peut pas accéder au ssh non plus
C'est probablement la cause du problème. L'hôte devrait être capable d'établir la connexion SSH vers 10.0.2.x (port 22).
Vérifie le pare-feu de l'hôte et celui de la machine virtuelle.
Par curiosité, essaie aussi un "ssh localhost" depuis la machine virtuelle.
Le réseau virtuel est en NAT et, dans le cas où l'administrateur du réseau auquel l'hôte est connecté ne prévoit pas l'apparition d'autres machines sur son réseau, c'est la "bonne" façon de faire.
Dans le cas d'un NAT (virtuel ou pas, qu'importe), il faut effectivement mettre en place une redirection de port depuis l'IP externe vers l'IP locale.
Ta configuration réseau est à priori correcte, tu devrais pouvoir accéder au SSH de la VM en utilisant la cible 193.x.x.x:2201 à condition qu'aucun pare-feu interfère, autant côté distant que local.
> L'hôte ne peut pas accéder au ssh non plus
C'est probablement la cause du problème. L'hôte devrait être capable d'établir la connexion SSH vers 10.0.2.x (port 22).
Vérifie le pare-feu de l'hôte et celui de la machine virtuelle.
Par curiosité, essaie aussi un "ssh localhost" depuis la machine virtuelle.
mamiemando
Messages postés
33075
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 avril 2024
7 748
Modifié le 11 mars 2022 à 17:59
Modifié le 11 mars 2022 à 17:59
Bonjour,
Si tu veux qu'on t'aide, il faut clarifier la situation.
Indique-nous :
Vu les symptômes que tu décris, la manière dont est configuré le réseau au niveau de ton logiciel de virtualisation t'empêche d'avoir un accès à ta VM. As-tu essayé en mode NAT ?
Bonne chance
Si tu veux qu'on t'aide, il faut clarifier la situation.
Indique-nous :
- la table de routage au niveau de tes deux Ubuntu : reporte-nous le résultat de
ip route
. - l'IP de tes deux Ubuntu quitte à les remplacer par une valeur arbitraire ce sont des IP publiques :
ip addr
. - si tu parviens, sous Windows à te connecter en ssh à la machine Ubuntu hôte (proxy).
- si tu parviens Ubuntu hôte (proxy) à te connecter en ssh à la machine Ubuntu VM.
- si les serveurs ssh des deux machines Ubuntu sont lancés et écoutent bien sur le port 22 (reporte-nous le résultat de
netstat -ntlp
).
Vu les symptômes que tu décris, la manière dont est configuré le réseau au niveau de ton logiciel de virtualisation t'empêche d'avoir un accès à ta VM. As-tu essayé en mode NAT ?
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je suis effectivement en NAT depuis le début comme décrit dans ma problématique, la méthode proxy est intéressante et j'essaierai surement dans un second temps. J'aimerai explorer la méthode NAT jusqu'au bout. Peut être est-ce simplement la requête de port que j'ai mal effectuée, est-il possible de me mettre un exemple de redirection de port qui fonctionnerai ?
Sinon, après avoir tester la connexion SSH depuis l'ordinateur hôte, elle ne fonctionne pas non plus, avec comme réponse :
connexion refusée, ou
ssh_exchange_identification: read: connexion reset by peer
Bon, en attendant je me suis connecté en viewer à distance ça dépanne, mais si j'ai besoin de me connecté sans que la session hote soit active, ça me dépannerai bien :)
Sinon, après avoir tester la connexion SSH depuis l'ordinateur hôte, elle ne fonctionne pas non plus, avec comme réponse :
connexion refusée, ou
ssh_exchange_identification: read: connexion reset by peer
Bon, en attendant je me suis connecté en viewer à distance ça dépanne, mais si j'ai besoin de me connecté sans que la session hote soit active, ça me dépannerai bien :)
mamiemando
Messages postés
33075
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 avril 2024
7 748
Modifié le 11 mars 2022 à 18:00
Modifié le 11 mars 2022 à 18:00
Bonjour,
Si tu veux que je puisse t'aider, il faut que tu répondes aux questions que je t'ai posées dans le message #5. Sinon, je ne peux pas te dire pourquoi tu as ton message d'erreur, car plusieurs explications sont possibles parmi lesquelles :
Bonne chance
Si tu veux que je puisse t'aider, il faut que tu répondes aux questions que je t'ai posées dans le message #5. Sinon, je ne peux pas te dire pourquoi tu as ton message d'erreur, car plusieurs explications sont possibles parmi lesquelles :
- le routage est incorrect/incomplet au niveau d'une ou des deux Ubuntus ;
- le service ssh mal lancé ;
- le pare feu bloque au niveau d'une ou des deux Ubuntus ;
- le serveur ssh rejette la connexion car le login ou la méthode d'authentification ;
- ...
Bonne chance