SSH do Mac para o Vagrant machine

4

Estou tentando conectar com o SSH do meu MacBook a uma máquina do Vagrant.

vagrant ssh funciona bem, mas estou me perguntando por que está falhando quando uso ssh do Mac Terminal.

Aqui está o erro que isso gera:

Raghavendras-MacBook-Pro:~ raghu$ ssh -p 2222 [email protected]
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
    
por raghu 11.12.2016 / 03:43

2 respostas

4

Como você está emitindo um comando "simples" ssh e, em resultado, está tentando fazer login na VM usando seu par de chaves padrão id_rsa + id_rsa.pub .

A menos que você tenha adicionado explicitamente ~/.ssh/id_rsa.pub do MacBook à ~/.ssh/accepted_keys da conta vagrant na VM, seu par de chaves padrão será desconhecido para a VM e será rejeitado com a mensagem "Permissão negada" obter.

Você pode usar uma chave que o Vagrant cria e injeta na máquina após a criação. Execute o seguinte a partir do diretório do projeto, substituindo <machine_id> pelo nome que você configurou no Vagrantfile (também assumindo que você está usando o VirtualBox, caso contrário mude também essa parte do caminho):

ssh -i .vagrant/machines/<machine_id>/virtualbox/private_key -p 2222 [email protected]
    
por 11.12.2016 / 03:56
3

O comando ssh [email protected] -p 2222 deve funcionar bem, mas às vezes o Vagrant altera a porta que está encaminhando para o host local para que o -p 2222 não funcione.

Portanto, verifique novamente em qual porta o SSH está sendo encaminhado de / para e use esse número de porta.

Uma maneira simples de verificar isso é vagrant ssh do diretório de configuração do Vagrant e, em seguida, em outra janela de terminal / shell, execute este comando:

ps aux | grep ssh

Deve haver uma linha lá que mostre exatamente como a conexão SSH foi estabelecida com esta aparência:

ssh [email protected] -p 2226 -o Compression=yes -o DSAAuthentication=yes -o LogLevel=FATAL -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i /path/to/Vagrant/.vagrant/machines/nodejs/virtualbox/private_key

Ignore a maior parte desse comando, a menos que você se preocupe com o acesso sem senha. Basta anotar esta primeira parte:

ssh [email protected] -p 2226

Esse é o comando - no meu exemplo - em que a postagem SSH encaminhada é 2226 . Isso funciona no meu caso. E se você for perguntado por uma senha por algum motivo, lembre-se que o usuário padrão do Vagrant é vagrant e a senha padrão para esse usuário é… vagrant .

    
por 11.12.2016 / 04:09