Máquina local do Vagrant instalada no endereço IP 10.0.0.23
com o nome do host lamp-vm
.
Usando o vagrant ssh
comando, posso conectar-me perfeitamente e fazer tudo o que preciso.
Isso cria um erro
$ ssh vagrant @ lamp-vm -v -v
debug1: conectar ao endereço 10.0.0.23 porta 22: tempo limite da conexão esgotado
ssh: conectar ao host lamp-vm porta 22: tempo limite da conexão esgotado
Meu /etc/hosts
arquivo contém 10.0.0.23 lamp-vm
.
Meu arquivo .ssh / config parece
Host lamp-vm
Usuário vagrant
IdentityFile ~ / .ssh / vagrant
Eu tentei o comando ssh com e sem o -i /path/to/.sh/identity_file
também.
Como eu me conecto à minha Máquina Virtual Vagrant usando SSH?
ssh -p 2222 vagrant@localhost
) não será afetada por isso.É antigo, mas como não há resposta, fornecerei uma. Comando:
É o equivalente a
Esse é o comportamento padrão, se você alterou algo, altere o comando adequadamente. Antes de tudo, o Vagrant criará um usuário vagante na sua caixa de convidados, e você o usará para ssh. Como as pessoas anteriores disseram, ele encaminhará o tráfego da porta 2222 no seu host para a porta 22 no seu convidado, por padrão (quando você usa o vagrant up, vê a mensagem sendo exibida). E, por último, o Vagrant cria chaves para a sessão ssh, assim você não precisa, então você precisa fornecer a chave pública como argumento ao conectar via ssh.
fonte
Esse comportamento é por design.
O Vagrant usa o modo NAT do VirtualBox, o que significa usar o encaminhamento de porta.
Você não pode fazer o SSH diretamente na sua VM usando o modo NAT.
Usar 'vagrant ssh' significa que o vagrant fará o encaminhamento da porta para você, para que você não precise se preocupar com isso. Eu acho que ele se conectará ao localhost na porta 2222 por padrão, mas tentará também resolver qualquer colisão de número de porta.
Se você precisar fazer o SSH diretamente na sua VM, alterne a VM para o modo de rede somente host ou em ponte.
fonte
Eu teria adicionado isso como um comentário, mas atualmente não tenho representante suficiente para fazê-lo. Eu escrevi um tutorial sobre como configurar sua VM no modo de ponte aqui:
/ubuntu/116861/setting-up-a-network-between-a-host-and-guest-virtual-machine/116909#116909
Espero que você ache isso útil!
fonte
Windows / Vagrant / Ubuntu
Isso é o que funcionou para mim e você pode descobrir rapidamente se isso funcionará executando isso no cliente ssh.
ssh [email protected] -p 2222 -v
O -v o colocará no modo detalhado e exibirá informações de depuração ...
Então ... SSH2_MSG_KEXINIT significa que as chaves estão sendo trocadas. Isso logo falha ...
Nesse caso, excluí minhas chaves e as regenerei fazendo isso na VM. ( http://ask.xmodulo.com/sshd-error-could-not-load-host-key.html )
$ Ls -al / etc / ssh / ssh chave
$ sudo rm -r / etc / ssh / ssh chave
$ sudo dpkg-reconfigure openssh-server
Uma vez que minhas chaves foram regeneradas, eu pude fazer o SSH na minha caixa Vagrant.
fonte
Destruiu a máquina virtual
Recarregou a máquina virtual
Tudo funcionou
Não sei por que, mas obviamente algo não foi carregado corretamente no primeiro provisionamento.
fonte
Confira este comentário: https://github.com/mitchellh/vagrant/issues/1936#issuecomment-21139674
Basicamente, mesmo ao usar redes privadas, o vagrant ainda faz ssh no 127.0.0.1. Experimente o comando ssh @ 127.0.0.1 em vez do seu ip / hostname privado.
fonte