web-dev-qa-db-fra.com

problème commun: ssh: se connecter à l'hôte 10.0.2.15 port 22: connexion refusée

J'utilise VirtualBox sur Windows 10 (hôte) pour créer deux machines virtuelles (Guest DT et Guest S). Puis-je SSH de Guest DT au Guest S?

Je suis inexpérimenté avec SSH. J'ai googlé et lu les réponses aux "questions similaires" sur ce site.

Erreur

Sur Guest DT, je fais ceci:

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

Remarque:

  • Je peux faire un ping avec succès 10.0.2.15
  • test est mon nom d'utilisateur sur le Guest S.

Configuration de l'environnement

Sur Guest DT:

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

Sur 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

Sur 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
2
Neil E

Je pense que la configuration réseau par défaut pour l’invité VirtualBox est NAT et n’est pas vraiment destinée à réaliser ce type de communication réseau; mais basé sur d'anciennes publications peut être possible en en transférant un port non-système à un port Invité et en utilisant la valeur par défaut adresse IP de bouclage pour atteindre l’invité. 10.0.2.2 est le bouclage par défaut.

Mise en réseau

Cependant, le plus simple est de vous assurer de choisir le bon réseau pour chacun des invités. Arrêtez vos machines invitées, puis dans VirtualBox, éditez le Mode réseau adapté à vos besoins (grille de notes) .

Virtualbox steps to change networking

Utilisation du réseau NAT par défaut

En utilisant NAT, VirtualBox utilise une adresse IP spéciale 10.0.2.2 en tant que boucle de rappel (du moins, je pense que cela est toujours vrai). Par conséquent, les ports transférés depuis le bouclage sont disponibles pour tous les invités. Je pense que vous devriez pouvoir en profiter. Pour communiquer à l'aide d'un réseau NAT, vous devez utiliser l'un des éléments suivants:

  • À l’aide de VBoxManage, configurez NAT Transfert d’un port non système (1024–65535) vers un --- port système (<1024) inférieur.

    1. Dans ce cas, transmettez quelque chose comme le port 2222 au port 22 (valeur par défaut pour SSH). Cela suppose également que nous utiliserons Guest S l'adresse IP de 10.0.2.15, selon la question.
    2. Configurez la redirection de port sur l'hôte Virtualbox, exécutez:

      VBoxManage modifyvm "nom de la machine virtuelle" --natpf1 "guestssh, tcp , 2222, 22"

      Tout le trafic TCP arrivant sur le port 2222 de toute interface hôte sera transféré au port 22 de l'invité. Le nom de protocole tcp est un attribut obligatoire définissant le protocole à utiliser pour le transfert (il est également possible d’utiliser udp). Le nom guestsh est purement descriptif et sera généré automatiquement s'il est omis. Le nombre après --natpf indique la carte réseau, comme dans d’autres parties de VBoxManage.

    3. Vérifiez la règle ajoutée:

      VBoxManage showvminfo myserver | grep 'Rule'

    4. Connectez-vous à Guest Server via le mappage de bouclage de l'hôte et le transfert de port pour Guest S

      neil @ neil-VirtualBox $ ssh -p 2222 [email protected]

  • Alternative: changez ( Guest S ) / etc/sshd_config pour écouter sur un port non système (> 1024) . Puis rechargez ssh.

0
mike stewart

Supprimez simplement toutes les clés à empreinte digitale ECDSA (probablement SHA256) contenues dans le répertoire hosts connus.

  1. Exécuter vi ~/.ssh/known_hosts
  2. Supprimez toutes les clés associées à l'adresse IP du sujet dans le fichier known_hosts.
  3. Entrez la touche "Esc" puis la touche "Shift" + ":" + "x"
0
alexanderjsingleton