Mesin Vagrant lokal dipasang di alamat IP 10.0.0.23
dengan nama host lamp-vm
.
Menggunakan vagrant ssh
perintah, saya dapat terhubung dengan baik dan melakukan semua yang saya butuhkan.
Ini menciptakan kesalahan
$ ssh gelandangan @ lamp-vm -v -v
debug1: terhubung ke alamat 10.0.0.23 port 22: Koneksi habis waktu
ssh: terhubung ke host-vm lampu port 22: Koneksi habis waktu
/etc/hosts
File saya mengandung 10.0.0.23 lamp-vm
.
File .ssh / config saya terlihat seperti
Lampu host-vm
Pengguna gelandangan
IdentityFile ~ / .ssh / gelandangan
Saya telah mencoba perintah ssh dengan dan tanpa -i /path/to/.sh/identity_file
juga.
Bagaimana saya terhubung ke Mesin Virtual Vagrant saya menggunakan SSH?
ssh -p 2222 vagrant@localhost
) tidak akan terpengaruh oleh ini.Itu sudah tua tetapi karena tidak ada jawaban, saya akan memberikan satu. Perintah:
Apakah setara dengan
Ini adalah perilaku default, jika Anda mengubah perintah perubahan sesuatu dengan tepat. Pertama-tama Vagrant akan membuat pengguna gelandangan di kotak tamu Anda, dan Anda akan menggunakan pengguna itu untuk ssh. Seperti yang dikatakan orang-orang sebelumnya, ini akan meneruskan lalu lintas dari port 2222 di host Anda ke port 22 pada tamu Anda, secara default (ketika Anda menggunakan gelandangan, Anda melihat pesan itu ditampilkan). Dan terakhir Vagrant menciptakan kunci untuk sesi ssh sehingga Anda tidak perlu, jadi Anda perlu memberikan kunci publik sebagai argumen saat koneksi melalui ssh.
sumber
Perilaku ini adalah dengan desain.
Vagrant menggunakan mode NAT VirtualBox yang berarti menggunakan penerusan porta.
Anda tidak dapat SSH langsung ke VM Anda menggunakan mode NAT.
Menggunakan 'vagrant ssh' berarti gelandangan akan melakukan port forwarding untuk Anda sehingga Anda tidak perlu khawatir tentang hal itu. Saya pikir itu akan terhubung ke localhost pada port 2222 secara default tetapi akan mencoba juga memilah tabrakan nomor port.
Jika Anda perlu SSH langsung ke VM Anda, alihkan VM ke mode host-only atau bridged networking.
sumber
Saya ingin menambahkan ini sebagai komentar, tetapi saat ini saya tidak memiliki cukup perwakilan untuk melakukannya. Saya telah menulis cara untuk mengatur VM ke mode bridged di sini:
/ubuntu/116861/setting-up-a-network-between-a-host-and-guest-virtual-machine/116909#116909
Saya harap Anda menemukan ini berguna!
sumber
Windows / Vagrant / Ubuntu
Inilah yang bekerja untuk saya dan Anda dapat dengan cepat mencari tahu apakah ini akan berhasil dengan menjalankan ini pada klien ssh.
ssh [email protected] -p 2222 -v
-V akan meletakkannya dalam mode verbose dan menampilkan info debug ...
Jadi ... SSH2_MSG_KEXINIT berarti kunci dipertukarkan. Ini tak lama gagal ...
Dalam hal ini, saya menghapus kunci saya dan membuat ulang mereka melakukan ini di VM. ( http://ask.xmodulo.com/sshd-error-could-not-load-host-key.html )
$ ls -al / etc / ssh / ssh kunci
$ sudo rm -r / etc / ssh / ssh key
$ sudo dpkg-mengkonfigurasi ulang openssh-server
Setelah kunci saya diregenerasi, saya bisa memasukkan SSH ke dalam Vagrant Box saya.
sumber
Hancur mesin virtual
Reloaded mesin virtual
Semuanya berfungsi
Tidak yakin mengapa tetapi jelas ada sesuatu yang tidak dimuat dengan benar pada penyediaan pertama.
sumber
Lihatlah komentar ini: https://github.com/mitchellh/vagrant/issues/1936#issuecomment-21139674
Pada dasarnya, bahkan ketika menggunakan jaringan pribadi, gelandangan masih melakukan ssh pada 127.0.0.1. Coba perintah ssh @ 127.0.0.1 sebagai ganti ip / hostname pribadi Anda.
sumber