Forum Linux.débutant Acces ssh Vm sur Proxmox en ligne

Posté par . Licence CC by-sa.
1
24
août
2019

Bonjour jai mon serveur proxmox avec mes Vm dont jaimerais avoir acces a lexterieur a travers le ssh. Mon ip nest pas fixe mais jarrive a me connecter avec le ddns ( xxx.ddns.net ) et jaimerais savoir comment configure mon router et mon Proxmox pour accedes a ma VM-1 sur internet

Ex :
Ip publique => 152.123.133.8 ( configure en XXX.ddns.net )
Ip de la VM => 192.168.1.150

Merci

  • # proxyjump

    Posté par . Évalué à 2 (+1/-0).

    L'idée est de faire un rebond ssh sur 152.123.133.8 pour te connecter à 192.168.1.150 .

    pour ce faire, modifies ton ~/.ssh/config et ajoute les deux paragraphes suivants :

    Host monsuperproxmoxdelamortquitue
    Hostname 152.123.133.8
    Port 22
    User monuser

    Host masupervmproxomisee
    Hostname 192.168.1.150
    proxyJump monsuperproxmoxdelamortquitue

    et pour te connecter à la vm, yapuka faire :

    ssh user@masupervmproxomisee

    mécanisme : la connection vas ce faire avec monuser@152.123.133.8 sur le port 22, puis vas rebondir sur 192.168.1.150 avec l'utilisateur user.

    monsuperproxmoxdelamortquitue = nom sympa pour 152.123.133.8, mais tu met ce que tu veux
    monuser = utilisateur authorisé à faire du ssh sur 152.123.133.8

    masupervmproxomisee = nom sympa pour 192.168.1.150, mais tu met ce que tu veux
    user = utilisateur authorisé à faire du ssh sur 192.168.1.150

    conseils :
    utiliser l'authentification par clef : https://www.debian.org/devel/passwordlessssh.fr.html
    utiliser port knocker : https://doc.ubuntu-fr.org/port-knocking
    mais surtout pas le port 22 ouvert sur le net !!!!

    le sshfs marchera aussi :
    sshfs user@masupervmproxomisee:/dossierpartage /mnt/dossierpartage

    lui explique mieux que moi en fait, avec un joli dessin :
    https://tuxicoman.jesuislibre.net/2017/02/connexion-ssh-a-travers-un-ordinateur-relai-avec-proxyjump.html

    • [^] # Re: proxyjump

      Posté par (page perso) . Évalué à 3 (+1/-0). Dernière modification le 25/08/19 à 11:18.

      Cela nécessite d'avoir le SSH de la machine physique accessible de la même manière que celui des machines virtuelles.
      Or il est probable qu'une machine physique soit protégée différement, par exemple accessible via un VPN, par exemple que le pare-feu n'autorise que certaines IP sources, etc.
      Alors que les machines virtuelles peuvent être bien plus ouvertes.

      On peut passer par un PNAT (« une ouverture de port ») :

      iptables --table nat --append PREROUTING --in-interface eth+/enp+ --protocol tcp --destination-port 1234 -j DNAT --to 192.168.1.150:22
      iptables --table nat --append PREROUTING --in-interface eth+/enp+ --protocol tcp --destination-port 1235 -j DNAT --to 192.168.1.151:22
      iptables --table nat --append PREROUTING --in-interface eth+/enp+ --protocol tcp --destination-port 1236 -j DNAT --to 192.168.1.152:22

      Cela ne fonctionne que si les VM peuvent accéder à l'extérieur.
      Si les VM ne peuvent pas communiquer avec l'extérieur :

      iptables --table nat --append PREROUTING  --in-interface eth+/enp+ --protocol tcp --destination-port 1234   --jump DNAT --to-destination 192.168.1.150:22
      iptables --table nat --append POSTROUTING --destination 192.168.1.150   --protocol tcp --destination-port 22 --jump SNAT --to-source 152.123.133.8

      Sur Debian, voir le paquet iptables-persistent pour que les règles de pare-feu survivent aux redémarrages.

      L'inconvénient de la seconde méthode est que la seconde ligne ne fonctionne plus lorsque l'adresse IP de la machine physique change.
      Actuellement j'utilise un script qui se lance en cas de changement d'adresse IP. Je trouve ça bof.
      Quelqu'un a une solution « dynamique » ? C'est à dire qui fonctionne sans changer les règles ?

  • # Merci beaucoup

    Posté par . Évalué à 2 (+1/-0).

    Je vais essaie sa de suite

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.