Por padrão, o VirtualBox funciona no modo "NAT", o que significa que ele cria uma rede "virtual" e traduz os acessos de rede da VM para que, no mundo externo, pareçam vir de seu computador real.
O VirtualBox faz a VM achar que está conectada a uma rede, mas, na realidade, o VirtualBox está fornecendo serviços de rede, incluindo um mini-servidor DHCP. Em seguida, o VirtualBox acessa a rede "em nome" da VM, fazendo com que apareça como apenas outro aplicativo em execução no seu PC.
No entanto, isso significa que o mundo exterior não sabe realmente sobre a VM e não pode acessá-la diretamente.
Acho que o redirecionamento de porta que você fez foi do seu roteador doméstico para o seu computador, não para a VM. Você pode estar faltando alguma configuração no lado do VirtualBox. Desculpas se você já fez isso, mas sua pergunta não ficou clara sobre isso.
Basicamente, você precisa alterar a configuração de rede da VM e defini-la como "Bridged". O que isto significa é que ele cria uma interface virtual no seu PC e faz com que a VM use isso para acessar o mundo externo; qualquer coisa entrando ou indo para essa interface é canalizada para a VM. Assim, a VM ficará visível como apenas outra máquina na rede em que seu PC estiver conectado (ela ainda tem seu próprio endereço MAC!).
Em seguida, dependendo da configuração da sua rede, a VM pode obter um endereço DHCP como qualquer outro PC conectado ao seu roteador ou pode ser necessário configurar um endereço IP estático para ele. Isso depende de como sua rede está configurada.
Quando a VM tiver um endereço "real", você poderá, em seu roteador, seguir as instruções encontradas para rotear a porta 22 para o endereço IP da VM. Isso deve funcionar como você espera.
Se isso não acontecer:
- Examine a configuração de firewall da sua VM (iptables -L -n). Está bloqueando alguma coisa?
- Configure outro computador em sua rede local e tente SSH para o endereço IP da VM. Se você puder, então você precisa verificar novamente a configuração de encaminhamento no seu roteador. Se você não puder, precisará verificar novamente a configuração de SSH e firewall da VM.