Par défaut, VirtualBox fonctionne en mode "NAT", ce qui signifie qu'il crée un réseau "virtuel" et traduit les accès réseau de la machine virtuelle de sorte que vers le monde extérieur, ils semblent provenir de votre ordinateur réel.
VirtualBox fait croire à la machine virtuelle qu'elle est connectée à un réseau, mais en réalité, VirtualBox fournit des services réseau, y compris un mini serveur DHCP. Ensuite, VirtualBox fait des accès réseau "au nom" de la machine virtuelle, ce qui la fait apparaître comme une autre application en cours d'exécution sur votre PC.
Cependant, cela signifie que le monde extérieur ne connaît pas vraiment la machine virtuelle et ne peut pas y accéder directement.
Je pense que la redirection de port que vous avez effectuée était de votre routeur domestique vers votre PC, pas vers la VM. Il se peut que vous manquiez une configuration du côté VirtualBox. Toutes mes excuses si vous l'avez déjà fait, mais votre question n'était pas claire à ce sujet.
Fondamentalement, vous devez modifier la configuration réseau de la machine virtuelle et la définir sur "Bridged". Ce que cela fait, c'est qu'il crée une interface virtuelle sur votre PC et fait que la VM l'utilise pour accéder au monde extérieur; tout ce qui entre ou entre dans cette interface est acheminé vers la machine virtuelle. Ainsi, la machine virtuelle sera visible comme une autre machine dans le réseau auquel votre PC est connecté (il a même sa propre adresse MAC!).
Ensuite, selon la configuration de votre réseau, la machine virtuelle peut obtenir une adresse DHCP comme tout autre PC connecté à votre routeur, ou vous devrez peut-être configurer une adresse IP statique pour celle-ci. Cela dépend de la configuration de votre réseau.
Une fois que la machine virtuelle a une "vraie" adresse, vous pouvez, sur votre routeur, suivre les instructions que vous avez trouvées pour acheminer le port 22 vers l'adresse IP de la machine virtuelle. Cela devrait fonctionner comme prévu.
Si ce n'est pas le cas:
- Regardez la configuration du pare-feu de votre machine virtuelle (iptables -L -n). Est-ce que ça bloque quelque chose?
- Configurez un autre ordinateur sur votre réseau local et essayez de SSH à l'adresse IP de la machine virtuelle. Si vous le pouvez, vous devez revérifier la configuration du transfert sur votre routeur. Si vous ne le pouvez pas, vous devez revérifier la configuration SSH et pare-feu de la machine virtuelle.