Ter a capacidade de SSH em seu sistema operacional convidado pode ser útil quando você não quiser usar a GUI da sua máquina virtual. Basta iniciar sua VM em um modo sem cabeça e dentro e fora dela sem ter várias janelas abertas em seu terminal.
Para aqueles que são novos na idéia 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 da sua VM para garantir que você tenha acesso a essa VM de qualquer lugar da sua LAN.
Aqui está o modelo simplificado de como o SSH funciona. Você cria um par de chaves no seu computador local. Uma chave pública e uma chave privada. Mensagens criptografadas usando a chave pública podem ser descriptografadas usando a chave privada e vice -versa. Essas chaves geralmente são armazenadas no computador local em um caminho ~/.ssh/id_rsa
(chave privada) e~/.ssh/id_rsa.PEM
(a chave pública).
Em seguida, você vai ao seu servidor remoto, faça login em um console como usuário regular ou root, abre o arquivo ~/.ssh/autorizado_keys
desse servidor. Aqui você insere o conteúdo da sua chave pública como é. Uma vez feito isso, você pode ssh como aquele usuário no servidor cujo .O diretório SSH possui os Authomized_Keys, do seu dispositivo local.
O .PEM a extensão significa que esse arquivo é a chave pública que você pode compartilhar com qualquer pessoa. O id_rsa papel Basta significa que a cifra de criptografia está sendo usada (neste caso, é RSA). A chave privada pode ser ainda protegida por uma senha que você teria que entrar, toda vez que deseja fazer login em um servidor remoto usando essa chave privada.
Se você possui um Mac, Linux ou qualquer outro sistema do tipo UNIX, pois o computador local, você pode gerar e gerenciar chaves usando o terminal, e também pode SSH em servidores remotos usando o mesmo terminal. Para os usuários do Windows, sugiro usar massa ou git bash o último é minha preferência pessoal. Os comandos são praticamente os mesmos quando você tem um cliente SSH.
Configuração do SSH-KEYS
Primeiro, verifique se ainda não houver SSH-KEYS no seu diretório doméstico. Verifique o conteúdo do seu diretório doméstico .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 as teclas SSH o tempo todo, sem o conhecimento do usuário, então esta etapa é bastante crucial.
Na tua máquina local, Abra o terminal e insira o comando:
$ ssh-keygen
Isso será seguido pelos seguintes solicitações com valores no suporte, indicando os valores padrão. Prossiga com os prompts e dê às suas chaves uma senha segura.
Verifique se as chaves são criadas verificando o conteúdo do seu ~/.ssh pasta.
$ ls -al ~/.ssh
Se você vir arquivos correspondendo aos valores padrão exibidos no ssh-keygen Prompt, então tudo funcionou bem.
Agora abra um console para o seu Máquina virtual. Primeiro verifique se a sua VM tem o servidor SSH em execução ou não.
$ service status sshd
Se não estiver instalado, use seu gerenciador de pacotes para pesquisar e instalar o OpenSsh Server. Uma vez feito, verifique se o firewall da sua VM está aberto na porta número 22. Por exemplo, se você estiver usando o Ubuntu como uma VM, o firewall padrão ufw deve ser desativado ou deve permitir conexões da porta 22 como assim:
$ sudo ufw status
Se não estiver aberto na porta 22, use o comando seguir:
$ sudo ufw permitir ssh
Em seguida, abra o arquivo ~/.ssh/autorizado_keys Na sua VM, usando seu editor de texto favorito. Você pode ativar a área de transferência de host-a-adocência ou 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 em que diz 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 SSH-Keys
Se você confia em sua rede local, poderá usar o método menos seguro de usar sua senha do Unix, para SSH na sua VM. Abra o arquivo /etc/ssh/sshd_config na sua VM e substitua a linha:
#PasswordAthentication no
Para
PasswordAuthentication Sim
Uma vez que estiver no lugar, reinicie seu servidor SSH.
$ service sshd reiniciar
Agora você pode usar a senha regular que você usa para fazer login na sua VM para ssh nela também.
Sua máquina virtual e rede
Para você fazer SSH na sua VM, tanto o seu computador local (aquele com a chave privada) quanto a VM devem estar na mesma rede. Então você pode alcançar o endereço IP da VM. Vamos mostrar como adicionar a VM à sua LAN.
Vamos considerar o exemplo de uma configuração típica do roteador doméstico. Seu computador, juntamente 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, o seu telefone e seu laptop também. Somente os dispositivos conectados a este roteador podem conversar um com o outro por meio de seus endereços IP.
Ativar o modo de rede em ponte nas configurações da sua VM e a VM será exibida como conectada ao seu roteador residencial (ou um servidor DHCP semelhante) com um IP privado. Se um segundo dispositivo estiver conectado à mesma rede (digamos, ao mesmo roteador doméstico), ele poderá ser usado para SSH na VM.
Abra o VirtualBox Manager, selecione sua VM de destino, abra o Configurações → Rede e selecione a rede de pontes em vez de NAT.
Como você pode ver, meu host está conectado usando sem fio para que a conexão também seja compartilhada pela VM, se você estiver usando Ethernet, um nome de interface diferente apareceria, que é bom.
Agora, minha VM, que é nomeada Ubuntuvm, aparece na minha configuração da LAN como seguinte. Verifique as configurações do seu roteador para ver se o mesmo funciona para você.
Depois de conhecer o endereço IP da sua VM, você pode SSH nele executando o comando:
$ ssh@ip.endereço.de.seu.vm
Se você colocou uma senha para sua chave privada nas etapas acima, você seria solicitado a entrar novamente.
É isso! Agora você pode iniciar suas VMs no modo sem cabeça e apenas ssh neles de qualquer lugar da sua casa. Espero que você tenha achado este tutorial interessante, deixe -nos saber se houver algum tópico que você gostaria que abordássemos.