O Virtualbox tem vários modos de rede que você pode escolher para VMs convidadas. Você não especificou o modo que você escolheu, mas se você escolheu 'NAT', (é o padrão e mais popular), você não pode ssh do convidado para o host. Porque não há rota do convidado para o host.
Além disso, seu sistema operacional convidado não sabe que é uma VM. Quando você guestuser@guest$ ssh -p 2222 hostuser@localhost
está dizendo: ssh em localhost, o SO guest , porta 2222, e se conecta ao serviço sshd em execução no sistema operacional convidado.
Se você deseja que o sistema operacional convidado possa se conectar ao sistema operacional host, altere o VB modo de rede . Você provavelmente vai querer o modo 'Bridged'. Aqui, a VM atua como um computador (físico) separado em sua rede doméstica. Ele receberá um endereço IP via DHCP. Então você pode passar de um para o outro, assumindo que não há regras de firewall ou outras 'barreiras' entre eles. Não há redirecionamento de porta neste modo; todas as conexões ssh serão através da porta 22 por padrão.
Exemplo
hostuser@host$ ssh [email protected]
guestuse@guest$ ssh [email protected]
Assumindo o IP do host = 192.168.0.1 e o IP convidado = 192.168.0.2
Opinião: a menos que você esteja configurando um serviço específico no seu convidado, muitas vezes há pouca necessidade de que o sistema operacional convidado possa conectar seu host da maneira que você está perguntando. Eu não iria me dar ao trabalho de configurar isso.