VirtualBox

Como fazer SSH em seu VirtualBox Guest

Como fazer SSH em seu VirtualBox Guest
Há momentos em que você deseja ter um acesso remoto à sua VM. Talvez seja apenas um sistema operacional de servidor rodando como uma VM, onde você testa seus aplicativos antes de realmente implantá-los.

Ter a capacidade de SSH em seu sistema operacional convidado pode ser útil quando você não quiser usar a GUI de sua máquina virtual. Simplesmente inicie sua VM em um modo headless e SSH dentro e fora dela sem ter várias janelas abertas em seu terminal.

Para aqueles que são novos na ideia de SSH, teremos uma breve introdução ao funcionamento do SSH antes de mergulhar na configuração. Além disso, precisaríamos discutir as configurações relacionadas à rede de sua VM para garantir que você tenha acesso a essa VM de qualquer lugar em sua LAN.

Como funcionam as chaves SSH?

Aqui está um modelo simplificado de como o SSH funciona. Você cria um par de chaves em seu computador local. Uma chave pública e uma chave privada. As mensagens criptografadas com a chave pública podem ser descriptografadas com a chave privada e vice-versa. Essas chaves são geralmente armazenadas em seu computador local em um caminho ~ /.ssh / id_rsa(chave privada) e~ /.ssh / id_rsa.pem(a chave pública).

Você então vai para o seu servidor remoto, faz o login em um console como um usuário normal ou root, abre o arquivo ~ /.ssh / authorized_keysdaquele servidor. Aqui você insere o conteúdo da sua chave pública como está. Uma vez feito isso, você pode ssh como aquele usuário no servidor cujo .O diretório ssh tem as chaves authorized, do seu dispositivo local.

O .pem extensão significa que esse arquivo é a chave pública que você pode compartilhar com qualquer pessoa. O id_rsa papel apenas significa qual cifra de criptografia está sendo usada (neste caso, é RSA). A chave privada pode ainda ser protegida por uma senha que você terá que inserir, toda vez que quiser fazer o login em um servidor remoto usando essa chave privada.

Se você tiver um Mac, Linux ou qualquer outro sistema semelhante ao UNIX como seu computador local, você pode gerar e gerenciar chaves usando o terminal e também pode usar SSH em servidores remotos usando o mesmo terminal. Para usuários do Windows, sugiro usar PuTTY ou Git Bash, sendo este último minha preferência pessoal. Os comandos são praticamente os mesmos, uma vez que você tenha um cliente SSH.

Configuração de chaves SSH

Primeiro certifique-se, se não houver chaves ssh já no seu diretório home. Verifique o conteúdo do seu diretório pessoal .ssh pasta. Em caso de dúvida, faça backup de seu conteúdo antes de executar o seguinte comando. Programas como o Filezilla usam chaves SSH o tempo todo, sem o conhecimento do usuário, então esta etapa é crucial.

Na tua máquina local, abra o terminal e digite o comando:

$ ssh-keygen

Isto será seguido pelos seguintes prompts com valores entre colchetes indicando os valores padrão. Prossiga com as instruções e forneça às suas chaves uma senha longa segura.

Verifique se as chaves são criadas verificando o conteúdo do seu ~ /.ssh pasta.

$ ls -al ~ /.ssh

Se você vir arquivos que correspondem aos valores padrão exibidos no ssh-keygen pronto, então tudo funcionou bem.

Agora abra um console para o seu Máquina virtual. Primeiro verifique se sua VM tem um servidor SSH em execução ou não.

$ service sshd status

Se não estiver instalado, use seu gerenciador de pacotes para pesquisar e instalar o servidor OpenSSH. Depois de fazer isso, certifique-se de que o firewall de sua VM esteja aberto na porta número 22. Por exemplo, se você estiver usando o Ubuntu como VM, o firewall padrão ufw deve ser desativado ou deve permitir conexões da porta 22 como:

$ sudo ufw status

Se não estiver aberto na porta 22, use o seguinte comando:

$ sudo ufw permitir ssh

Em seguida, abra o arquivo ~ /.ssh / authorized_keys  em sua VM, usando seu editor de texto favorito. Você pode querer habilitar host para convidado ou área de transferência bidirecional para esta próxima etapa.

Dentro deste arquivo (na parte inferior do arquivo, se não estiver vazio) cole o conteúdo do seu chave pública. A última parte onde diz o seu nome e o host local onde as chaves foram geradas não é tão importante quanto o resto da string.

(Opcional) Não usando chaves SSH

Se você confia em sua rede local, então você pode usar o método menos seguro de usar sua senha UNIX, para ssh em sua VM. Abra o arquivo / etc / ssh / sshd_config em sua VM e substitua a linha:

#PasswordAuthentication não
Para
PasswordAuthentication sim

Uma vez instalado, reinicie seu servidor SSH.

$ service sshd restart

Agora você pode usar a senha normal que você usa para fazer login em sua VM para fazer o ssh nela também.

Sua Máquina Virtual e Rede

Para que você faça ssh em sua VM, tanto o computador local (aquele com a chave privada) quanto a VM devem estar na mesma rede. Assim, você pode acessar o endereço IP dessa VM. Mostraremos como adicionar a VM à sua LAN.

Vamos considerar o exemplo de uma configuração típica de roteador doméstico. Seu computador, junto com outros dispositivos, está conectado ao roteador doméstico. Este roteador também atua como um servidor DHCP, o que significa que atribui a cada dispositivo conectado a ele um endereço IP privado exclusivo. Seu desktop recebe um IP, assim como seu telefone e seu laptop. Apenas os dispositivos que estão conectados a este roteador podem se comunicar uns com os outros por meio de seus endereços IP.

Habilite o modo de rede em ponte nas configurações de sua VM e a VM aparecerá como conectada ao seu roteador doméstico (ou um servidor DHCP semelhante) com um IP privado. Se um segundo dispositivo estiver conectado à mesma rede (digamos, ao mesmo roteador doméstico), ele pode ser usado para ssh na VM.

Abra o Gerenciador VirtualBox, selecione sua VM de destino, abra o Configurações → Rede e selecione Bridge Networking em vez de NAT.

Como você pode ver, meu host está conectado usando Wireless para que a conexão também seja compartilhada pela VM, se você estiver usando Ethernet, um nome de interface diferente aparecerá, o que é bom.

Agora, minha VM, que se chama ubuntuvm, aparece na configuração da minha LAN como a seguir. Verifique as configurações do roteador para ver se o mesmo funciona para você.

Depois de saber o endereço IP de sua VM, você pode SSH nele executando o comando:

$ ssh @ip.Morada.de.sua.vm

Se você colocou uma senha longa para sua chave privada nas etapas acima, será solicitado que você a digite novamente.

É isso! Agora você pode iniciar suas VMs no modo headless e apenas ssh nelas de qualquer lugar da sua casa. Espero que você tenha achado este tutorial interessante, deixe-nos saber se há algum tópico que você gostaria que abordássemos.

Tutorial OpenTTD
OpenTTD é um dos jogos de simulação de negócios mais populares que existem. Neste jogo, você precisa criar um maravilhoso negócio de transporte. No en...
SuperTuxKart para Linux
SuperTuxKart é um ótimo título projetado para trazer a você a experiência Mario Kart gratuitamente em seu sistema Linux. É bastante desafiador e diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth é um dos jogos de estratégia de código aberto mais populares que você pode jogar no momento. Este jogo não está apenas em desen...