web-dev-qa-db-fra.com

Essayer de SSH vers local VM Ubuntu avec Putty

J'ai installé un VM de serveur Ubuntu, j'ai installé OpenSSH, et j'essaye maintenant de me connecter avec PuTTY. Dans PuTTY, sous "Host name", je mets "Ubuntu", étant donné c'est comme ça que je pensais que cela s'appelait quand j'ai installé la VM. Cependant, je reçois juste l'erreur: "Connection Timed Out".

J'ai également essayé de mettre "127.0.0.1" dans le nom d'hôte dans PuTTY et d'obtenir simplement "Connexion refusée". Notez que j'ai fait la redirection de port pour SSH et HTTP dans Oracle VM, donc je ne sais pas comment le faire fonctionner.

157
wickywills

VirtualBox créera un réseau privé (10.0.2.x) qui sera connecté à votre réseau hôte en utilisant NAT . (Sauf configuration contraire.)

Cela signifie que vous ne pouvez pas accéder directement à un hôte du réseau privé à partir du réseau hôte. Pour ce faire, vous avez besoin d'une redirection de port. Dans les préférences réseau de votre VM vous pouvez, par exemple, configurer VirtualBox pour ouvrir le port 22 sur 127.0.1.1 (une adresse loopback de votre hôte) et transmettre tout trafic vers le port 22 de 10.0.2.1 (l'adresse interne de votre machine virtuelle)

De cette façon, vous pouvez pointer PuTTY vers le port 22 de 127.0.1.1 et VirtualBox redirigera cette connexion vers votre VM où son démon ssh y répondra, vous permettant de vous connecter.

196
michas

Je voulais utiliser PuTTY pour me connecter à mon ubuntu sur une boîte virtuelle (pour des raisons de confort, le VB est juste bizarre. Je ne peux pas travailler à moins qu'il ne soit sur un terminal approprié). Quoi qu'il en soit,

  1. Assurez-vous que le client ssh est installé sur votre Linux. Sinon, installez-le Sudo apt install ssh.
  2. Éteignez le système d'exploitation.
  3. Maintenant sur votre VB allez dans Settings->Network-> sur Adapter 1 choisissez Host-only adapter-> cliquez sur OK.
  4. Démarrez maintenant votre système d'exploitation. Exécutez ifconfig; maintenant l'adresse inet est votre IP.
  5. Utilisez-le et exécutez-le sur votre PuTTY. Connectez-vous avec vos informations d'identification.

Le seul inconvénient de l'utilisation de l'adaptateur hôte uniquement est que votre système d'exploitation invité n'aura pas accès au réseau plus large (par exemple, Internet).

Si vous avez également besoin de votre VM pour avoir accès à Internet, laissez l'adaptateur 1 à NAT et activez l'adaptateur 2, configuré en tant qu'adaptateur hôte uniquement. Cela permettra votre VM pour vous connecter à Internet en utilisant NAT ainsi que pour établir une connexion locale à votre hôte en utilisant Host-Only).

49
Priya_user1907390

Vous devez d'abord décider si votre VM connectée à votre machine hôte via une connexion en pont ou via un NAT, mais comme vous devrez mettre la VM = Adresse IP dans PuTTY pour pouvoir se connecter à ip, dans le VM exécutez cette commande pour vous montrer l'adresse IP de la machine (et non 127.0.0.1 n'est pas l'adresse IP de la machine)

VM # ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope Host lo
    inet6 ::1/128 scope Host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:d9:16:b3 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.1 scope global eth0
       valid_lft forever preferred_lft forever

dans ce cas, mon adresse IP sera le 10.0.2.15,

Essayez d'abord de vous assurer que vous pouvez communiquer à un niveau de base avec VM, ouvrez une fenêtre de terminal sur votre hôte et essayez d'envoyer une requête ping à la VM

Host # ping 10.0.2.15

PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
64 bytes from 10.0.2.15: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 10.0.2.15: icmp_seq=2 ttl=64 time=0.110 ms
64 bytes from 10.0.2.15: icmp_seq=3 ttl=64 time=0.099 ms

Si vous obtenez un résultat ant, assurez-vous que vous disposez d'un service ssh en cours d'exécution sur la machine virtuelle, dans le terminal de votre VM en tant que root,

VM # netstat -lnpt | grep 22
tcp   0  0  0.0.0.0:22  0.0.0.0:*  LISTEN  2361/sshd

Cela indique que nous avons un service/processus avec PID (2361) appelé sshd (démon OpenSSH) écoutant le port 22.

Vous pouvez tester si le service fonctionne correctement en essayant d'y accéder depuis le VM lui-même,

VM # ssh 127.0.0.1

Ensuite, vous devez vous assurer que vous ne bloquez pas le port 22 dans votre pare-feu/iptables, je ne peux pas le croire, mais vérifiez-le quand même. Dans le VM tapez cette commande pour vous montrer les iptables,

VM # iptables -nvL INPUT

dans la sortie, vous devriez avoir une ligne comme celle-ci:

0  0  ACCEPT  tcp  --  *  *  0.0.0.0/0  0.0.0.0/0  tcp  dpt:22  ctstate  NEW
22
Rabin

Ma résolution était similaire à celle de Roman T, mais j'ai dû ajouter quelques étapes supplémentaires. Dans mon cas, j'avais Ubuntu Server 14 VM fonctionnant sur un bureau Windows 8 dans le domaine Windows 2008. Si j'essayais NAT ou Bridge, je pouvais accéder à Internet mais je ne pouvais pas me connecter via SSH.

Si j'essayais Host Only Adapter, cela me permettrait d'accéder à SSH, mais je ne pourrais pas accéder à Internet.

J'ai également essayé la redirection de port et aucune joie. A ouvert Wireshark et il n'a tout simplement pas trouvé de VM.

Ma solution a donc été d'ajouter une deuxième carte réseau.

Méthode

Avec VM hors tension

  1. Cliquez sur Paramètres> Adaptateur de clic réseau 1 et choisissez Adaptateur ponté
  2. Cliquez sur Adapter 2 et choisissez Host Only Adapter
  3. Cliquez sur Fichier> Préférences> Réseaux Sous NAT Réseaux si vous ne voyez pas de NAT Réseau, cliquez sur l'icône + pour ajouter NAT Réseau.
  4. Cliquez sur Réseaux hébergés uniquement si vous ne voyez pas de réseau Hôte uniquement cliquez sur l'icône + pour en ajouter un

Démarrer VM

  1. Pour voir la carte réseau, vous devez taper

    ifconfig -a
    
  2. Vous pouvez voir que la carte réseau est ajoutée avec une adresse mac mais pas une IP?

  3. Si c'est le cas, vous devez éditer/etc/network/interfaces afin de configurer DHCP. Exemple ci-dessous en utilisant VI/VIM mais vous pouvez utiliser l'éditeur de votre choix

    Sudo vi /etc/network/interfaces
    
  4. ajouter les lignes

    auto eth1
    iface eth1 inet dhcp
    
  5. enregistrer et quitter le fichier.
  6. Essayez ensuite de redémarrer le service réseau à l'aide de la commande ci-dessous

    Sudo service networking restart
    
  7. Ou si cela échoue, redémarrez la machine virtuelle.
  8. Une fois redémarré, tapez ci-dessous pour voir si vous avez attribué à eth1 une adresse IP

    ifconfig -a
    
  9. si oui, voyez si vous pouvez SSH sur la machine virtuelle
15
mrjamesmyers

Les instructions suivantes ont fonctionné avec Ubuntu 14.04 et Oracle VirtualBox 4.3.30.

Faites ceci dans VirtualBox:

  1. Faites un clic droit sur votre machine virtuelle, sélectionnez "Paramètres", puis sélectionnez "Réseau".

  2. À côté de "Attaché à", sélectionnez "Adaptateur hôte uniquement". En remarque, "Bridged Adapter" fonctionnera également, consultez la documentation VirtualBox pour plus de détails sur chaque option.

Faites cela à l'intérieur de votre machine virtuelle:

  1. Trouvez votre adresse IP réseau en ouvrant un terminal et en tapant ifconfig. Observez l'adresse IP affichée à côté de eth0, sous "inet addr". Vous pouvez également voir votre adresse IP si vous cliquez sur l'icône Réseau dans le coin supérieur droit de votre bureau, puis sélectionnez "Informations de connexion".

  2. Installez openssh-server en tapant ce qui suit sur le terminal:

    Sudo apt-get install openssh-server
    
  3. Au cas où, redémarrez la machine virtuelle.

Vous pouvez maintenant vous connecter à partir de PuTTY en utilisant l'adresse IP de l'étape 1 ci-dessus et le port 22.

14
Roman T

Pour Ubuntu 18.04 et VirtualBox 5.2:

  1. Créer une interface réseau hôte

    je. Sur Virtualbox, cliquez sur File/Host Network Manager.

    ii. Si vous ne disposez pas déjà d'une carte réseau hôte (par défaut vboxnet0), cliquez sur Create.

  2. Activer les paramètres de l'adaptateur hôte uniquement pour la VM

    je. Sur Virtualbox, faites un clic droit sur votre VM et sélectionnez Settings.

    ii. Cliquez sur Network et sélectionnez Adapter 2.

    iii. Cliquez sur Enable Network Adapter.

    iv. En dessous de Attached to: sélectionnez Host-only Adapter. Le nom de l'adaptateur que vous avez créé à l'étape 1 doit apparaître (par défaut vboxnet0).

  3. Configurer les paramètres réseau dans la VM

    je. Démarrez votre VM et vérifiez quelle interface a été ajoutée: ip a. Recherchez l'interface qui n'a pas d'adresse inet. Sur le mien, c'était enp0s8.

    ii. Éditer /etc/netplan/01-netcfg.yaml. par exemple. Sudo vi /etc/netplan/01-netcfg.yaml.

    iii. Sous les paramètres de l'adaptateur d'origine, ajoutez les détails de configuration:

    enp0s8:
        addresses: [192.168.56.2/24]
        gateway4: 192.168.56.1
        dhcp4: no
    

    Cela affecte une adresse IP statique pour votre VM pour la commodité SSH. Si vous voulez que dhcp gère l'adressage à la place, omettez l'adresse et la configuration de la passerelle et définissez dhcp4 à yes.

    iv. Rechargez le fichier de configuration: Sudo netplan apply.

  4. SSH dans votre VM

    je. Si vous n'avez pas installé ssh dans la machine virtuelle: Sudo apt install ssh.

    ii. Depuis votre ordinateur hôte, connectez-vous à la machine virtuelle SSH: ssh <username>@192.168.56.2.

3
ooknosi