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_keys
daquele 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-keygenIsto 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 ~ /.sshSe 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 sshEm 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ãoPara
PasswordAuthentication sim
Uma vez instalado, reinicie seu servidor SSH.
$ service sshd restartAgora 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
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.