problema comum: ssh: conecte-se ao host 10.0.2.15 porta 22: conexão recusada

problema comum: ssh: conecte-se ao host 10.0.2.15 porta 22: conexão recusada

Estou usando o VirtualBox no Windows 10 (host) para criar duas máquinas virtuais ( Guest DTe Guest S). Posso SSH de Guest DTpara o Guest S?

Eu sou inexperiente com SSH. Pesquisei no Google e li as respostas às 'perguntas semelhantes' neste site.

Erro

Em Guest DT, eu faço isso:

$ ssh [email protected]
ssh: connect to host 10.0.2.15 port 22: Connection refused

Observação:

  • Consigo executar ping em 10.0.2.15 com sucesso
  • testé meu nome de usuário no Guest S.

Configuração do ambiente

Sobre Guest DT:

$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub
ssh-rsa <a very long key> neil@neil-VirtualBox

Sobre Guest S:

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ echo "ssh-rsa <a very long key> neil@neil-VirtualBox" > ~/.ssh/authorized_keys
$ /etc/init.d/ssh restart

Sobre Guest S:

test@server01:~$ service sshd status

ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-06-15 02:05:04 UTC; 1h 16min ago
  Process: 903 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
 Main PID: 906 (sshd)
    Tasks: 1 (limit: 2317)
   CGroup: /system.slice/ssh.service
           └─906 /usr/sbin/sshd -D

Jun 15 02:05:04 server01 systemd[1]: Starting OpenBSD Secure Shell server...
Jun 15 02:05:04 server01 sshd[906]: Server listening on 0.0.0.0 port 22.
Jun 15 02:05:04 server01 sshd[906]: Server listening on :: port 22.
Jun 15 02:05:04 server01 systemd[1]: Started OpenBSD Secure Shell server.


$ sudo ufw status
[sudo] password for test: 
Status: inactive


/etc/ssh/sshd_config  contains :
#PubkeyAuthentication yes

Responder1

Acho que a configuração de rede padrão para convidado do VirtualBox é NATe não se destina a alcançar esse tipo de comunicação de rede; mas com base em postagens antigas pode ser possível porencaminhamentouma porta que não seja do sistema para uma porta Convidada e usando o padrãoendereço IP de loopbackpara chegar ao Convidado. 10.0.2.2 é o loopback padrão.

Configurar rede

No entanto, o mais fácil é garantir que você escolheu a rede correta para cada um dos convidados. Desligue suas máquinas convidadas e, no VirtualBox, edite oModo de rede apropriado para suas necessidades (grade de notas).

Etapas do Virtualbox para alterar a rede

Usando rede NAT padrão

Usando NAT, o VirtualBox usa um IP especial 10.0.2.2 como loopback (pelo menos acho que isso ainda é verdade). Portanto, as portas encaminhadas do loopback estão disponíveis para todos os convidados. Acho que você deveria poder tirar vantagem disso. Para se comunicar usando uma rede NAT, será necessário um dos seguintes:

  • Usando VBoxManage, configure o encaminhamento NAT de umporta que não é do sistema (1024–65535)para um inferiorporta do sistema (<1024).

    1. Neste caso encaminhe algo como a porta 2222, para a porta 22 (padrão para SSH). Isso também pressupõe que usaremos Guest So endereço IP de 10.0.2.15, de acordo com a pergunta.
    2. Configure o encaminhamento de porta no host Virtualbox, execute:

      VBoxManage modificarvm "Nome da VM" --natpf1 "guestssh,tcp,,2222,,22"

      Todo o tráfego TCP que chega na porta 2222 em qualquer interface do host será encaminhado para a porta 22 no convidado. O nome do protocolo tcp é um atributo obrigatório que define qual protocolo deve ser usado para encaminhamento (udp também pode ser usado). O nome convidadossh é puramente descritivo e será gerado automaticamente se omitido. O número após --natpf indica a placa de rede, como em outras partes do VBoxManage.

    3. Verifique a regra adicionada:

      VBoxManage showvminfo meuservidor | grep 'Regra'

    4. Conecte-se Guest Servervia mapeamento de loopback de host e encaminhamento de porta paraGuest S

      neil@neil-VirtualBox$ ssh -p 2222[e-mail protegido]

  • Alternativa: mudança (Convidados)/etc/sshd_configpara ouvir em um porta que não é do sistema (> 1024). Então recarregue o ssh.

Responder2

Simplesmente remova todas as chaves de impressão digital ECDSA (provavelmente SHA256) contidas no diretório de hosts conhecidos.

  1. Corrervi ~/.ssh/known_hosts
  2. Exclua todas as chaves associadas ao endereço IP do assunto no arquivoknown_hosts.
  3. Digite a tecla "Esc" e depois a tecla "Shift" + ":" + "x"

informação relacionada