Machine locale Vagrant installée à l'adresse IP 10.0.0.23
avec le nom d'hôte lamp-vm
.
En utilisant la vagrant ssh
commande, je peux très bien me connecter et faire tout ce dont j'ai besoin.
Cela crée une erreur
$ ssh vagrant @ lamp-vm -v -v
debug1: connexion à l'adresse 10.0.0.23 port 22: connexion expirée
ssh: connexion à la lampe hôte-port vm 22: connexion expirée
Mon /etc/hosts
fichier contient 10.0.0.23 lamp-vm
.
Mon fichier .ssh / config ressemble à
Host lamp-vm
User vagrant
IdentityFile ~ / .ssh / vagrant
J'ai également essayé la commande ssh avec et sans le -i /path/to/.sh/identity_file
.
Comment se connecter à ma machine virtuelle Vagrant à l'aide de SSH?
ssh -p 2222 vagrant@localhost
) ne sera pas affectée par cela.C'est vieux mais comme il n'y a pas de réponse, je vais en fournir une. Commander:
Est l'équivalent de
Il s'agit du comportement par défaut, si vous avez modifié la commande de modification de quelque chose de manière appropriée. Tout d'abord, Vagrant créera un utilisateur vagabond sur votre boîte d'invité, et vous utiliserez cet utilisateur pour ssh. Comme les gens précédents l'ont dit, il transfèrera le trafic du port 2222 sur votre hôte vers le port 22 sur votre invité, par défaut (lorsque vous utilisez vagrant up, vous voyez ce message s'afficher). Enfin, Vagrant crée des clés pour la session ssh afin que vous n'ayez pas à le faire, vous devez donc fournir la clé publique comme argument lors de la connexion via ssh.
la source
Ce comportement est voulu par la conception même du produit.
Vagrant utilise le mode NAT VirtualBox, ce qui signifie utiliser la redirection de port.
Vous ne pouvez pas SSH directement sur votre machine virtuelle en utilisant le mode NAT.
L'utilisation de «vagrant ssh» signifie que vagrant effectuera la redirection de port pour vous afin que vous n'ayez pas à vous en soucier. Je pense qu'il se connectera à localhost sur le port 2222 par défaut, mais il essaiera également de trier toutes les collisions de numéros de port.
Si vous avez besoin de SSH directement sur votre machine virtuelle, passez la machine virtuelle en mode réseau uniquement hôte ou ponté.
la source
J'aurais ajouté ceci en tant que commentaire, mais je n'ai actuellement pas assez de représentants pour le faire. J'ai écrit un tutoriel pour configurer votre VM en mode ponté ici:
/ubuntu/116861/setting-up-a-network-between-a-host-and-guest-virtual-machine/116909#116909
J'espère que vous trouvez ça utile!
la source
Windows / Vagrant / Ubuntu
C'est ce qui a fonctionné pour moi et vous pouvez rapidement déterminer si cela fonctionnera en l'exécutant sur le client ssh.
ssh [email protected] -p 2222 -v
Le -v le mettra en mode verbeux et affichera les informations de débogage ...
Donc ... SSH2_MSG_KEXINIT signifie que les clés sont échangées. Cela échoue rapidement ...
Dans ce cas, j'ai supprimé mes clés et les ai régénérées en le faisant sur la machine virtuelle. ( http://ask.xmodulo.com/sshd-error-could-not-load-host-key.html )
$ ls -al / etc / ssh / ssh key
$ sudo rm -r / etc / ssh / ssh key
$ sudo dpkg-reconfigure openssh-server
Une fois mes clés régénérées, j'ai pu SSH dans ma Vagrant Box.
la source
Détruit la machine virtuelle
Rechargé la machine virtuelle
Tout fonctionnait
Je ne sais pas pourquoi, mais de toute évidence, quelque chose ne s'est pas chargé correctement lors du premier approvisionnement.
la source
Consultez ce commentaire: https://github.com/mitchellh/vagrant/issues/1936#issuecomment-21139674
Fondamentalement, même lors de l'utilisation d'un réseau privé, vagrant fait toujours ssh sur 127.0.0.1. Essayez cette commande ssh @ 127.0.0.1 au lieu de votre IP / nom d'hôte privé.
la source