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.
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.
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,
Sudo apt install ssh
.Settings
->
Network
->
sur Adapter 1
choisissez Host-only adapter
-> cliquez sur OK
.ifconfig
; maintenant l'adresse inet est votre IP.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).
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
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.
Avec VM hors tension
Démarrer VM
Pour voir la carte réseau, vous devez taper
ifconfig -a
Vous pouvez voir que la carte réseau est ajoutée avec une adresse mac mais pas une IP?
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
ajouter les lignes
auto eth1
iface eth1 inet dhcp
Essayez ensuite de redémarrer le service réseau à l'aide de la commande ci-dessous
Sudo service networking restart
Une fois redémarré, tapez ci-dessous pour voir si vous avez attribué à eth1 une adresse IP
ifconfig -a
Les instructions suivantes ont fonctionné avec Ubuntu 14.04 et Oracle VirtualBox 4.3.30.
Faites ceci dans VirtualBox:
Faites un clic droit sur votre machine virtuelle, sélectionnez "Paramètres", puis sélectionnez "Réseau".
À 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:
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".
Installez openssh-server en tapant ce qui suit sur le terminal:
Sudo apt-get install openssh-server
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.
Pour Ubuntu 18.04 et VirtualBox 5.2:
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
.
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
).
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
.
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
.