Com caixas locais do Ubuntu, estejam elas conectadas diretamente ou usando um switch, você pode usar o hostname.local para se conectar. Então, se o seu laptop é chamado bambuntulaptop, então você pode se conectar a ele usando bambuntulaptop.local.
Para conexões não locais, você terá que usar um endereço IP ou configurar um servidor dns. Você pode usar ddclient
juntamente com um serviço como o dyndns.org.
O NAT não é realmente relevante no que diz respeito ao ssh. Você precisará encaminhar a porta 22 para a máquina correta ou configurar seu servidor ssh para usar outra porta e encaminhar essa porta. A porta 22 é a porta ssh padrão.
Você não deve permitir contas não protegidas. Existem milhares, ou centenas de milhares de computadores que estão buscando coisas para serem abusadas. Permitir que qualquer usuário na Internet execute programas em seu computador é uma idéia muito ruim. O Ubuntu é seguro, mas não é seguro. Na verdade, eu não acho que você poderá usar contas não protegidas por senhas com o ssh. Se você quisesse fazer isso, precisaria configurar as chaves. Isso seria outra questão.
O comando para estabelecer a conexão, dificilmente poderia ser mais fácil: ssh username@host
. Em outras palavras, reutilizando o exemplo acima; %código%.