Vagrant Virtual MachineにSSH接続できない


11

10.0.0.23ホスト名のIPアドレスにインストールされたローカルVagrantマシンlamp-vm

vagrant sshコマンドを使用すると、問題なく接続でき、必要なすべてのことを実行できます。

これによりエラーが発生します

$ ssh vagrant @ lamp-vm -v -v

debug1:アドレス10.0.0.23のポート22に接続:接続がタイムアウトしました
ssh:ホストのlamp-vmポート22に接続:接続がタイムアウトしました

私の/etc/hostsファイルにはが含まれています10.0.0.23 lamp-vm

私の.ssh / configファイルは次のようになります

ホストlamp-vm
ユーザーvagrant
IdentityFile〜/ .ssh / vagrant

私はsshコマンドをありとなしで試しました-i /path/to/.sh/identity_file

SSHを使用してVagrant Virtual Machineに接続するにはどうすればよいですか?

回答:


8

私もこの問題に直面しましたが、これが私の最終的な構成であり、ホストマシンのどこからでも迷惑マシンにSSHで接続できました。

Vagrantfile:

...
# Setting up private_network to have virtual host
config.vm.network :private_network, ip: "192.168.33.10"

# Enable ssh forward agent
config.ssh.forward_agent = true
...

マシンへのssh:

ssh vagrant@192.168.33.10

パスワードの入力を求められます(デフォルトはvagrant):

vagrant@192.168.33.28's password:

そして、ブーム、あなたは入っています!

PS *ホストマシンのどこでもscpを使用できます。

scp /path/to/src/file vagrant@192.168.33.10:/path/to/destination/file

これは機能しますが、それは非常に壊れやすいです-私のVagrantfileがVirtualBox VMの/ etc / network / interfacesにいくつかの編集を引き起こしたことがわかりました、それは私のSSH接続が落ちることを意味しました。localhost接続(ssh -p 2222 vagrant@localhost)はこれによる影響を受けません。
RichVel 2016年

8

古いですが、答えが無いので、ご用意致します。コマンド:

vagrant ssh

同等です

ssh vagrant@localhost -p 2222 -i .vagrant/machines/default/virtualbox/private_key

これは、何か変更コマンドを適切に変更した場合のデフォルトの動作です。まず最初に、Vagrantはゲストボックスにvagrantユーザーを作成し、そのユーザーを使用してSSHを実行します。以前の人々が言っ​​たように、デフォルトでは、ホストのポート2222からゲストのポート22にトラフィックを転送します(vagrant upを使用すると、そのメッセージが表示されます)。そして最後に、Vagrantはsshセッションのキーを作成するので、その必要はありません。したがって、ssh経由で接続するときに、公開キーを引数として提供する必要があります。


これが本当の正しい答えです!問題なく動作します(例:mobaxterm)。また、private_keyのフルパスを指定する必要があります
sineverba

6

この動作は仕様です。

VagrantはVirtualBox NATモードを使用します。つまり、ポート転送を使用します。

NATモードを使用してVMに直接SSH接続することはできません。

「vagrant ssh」を使用すると、vagrantがポート転送を実行するので、心配する必要はありません。デフォルトではポート2222のlocalhostに接続すると思いますが、ポート番号の衝突も解決しようとします。

VMに直接SSHで接続する必要がある場合は、VMをホストオンリーまたはブリッジネットワークモードに切り替えます。


フィリップに感謝しますが、どうすれば解決できますか?未経験でごめんなさい。
csi 2012年

1
ホストオンリーモードを使用していますが、問題は解決しません。
csi

受け入れられる答えでなければなりません。これを理解するのに非常に役立ちます-ポート2222のlocalhostを経由することは、動作しているVagrantセットアップへのルートでした(何らかの理由で、私はまだinsecure_private_keyキーを機能させることができませんでした)。標準の「安全でないプライベートキー」は機能しない機能したため、Vagrantfileで別の秘密鍵とユーザー名を指定することになりましたが、localhostポート2222の部分を変更する必要はありませんでした。
RichVel 2016年


3

Windows / Vagrant / Ubuntu

これは私にとってうまくいきました、そしてあなたがこれがsshクライアントでこれを実行することによってうまくいくかどうかすぐに理解できます。

ssh vagrant@127.0.0.1 -p 2222 -v

-vを指定すると、詳細モードになり、デバッグ情報が表示されます...

$ ssh vagrant@127.0.0.1 -p 2222 -v
OpenSSH_7.1p1、OpenSSL 1.0.2e 3 Dec 2015
debug1:127.0.0.1 [127.0.0.1]ポート2222に
接続しています。debug1:接続が確立されました。
debug1:IDファイル/home/Jamie/.ssh/id_rsaタイプ1
debug1:key_load_public:そのようなファイルまたはディレクトリはありません
debug1:IDファイル/home/Jamie/.ssh/id_rsa-cert type -1
debug1:key_load_public:そのようなファイルまたはディレクトリ
debug1:IDファイル/home/Jamie/.ssh/id_dsaタイプ-1
debug1:key_load_public:そのようなファイルまたはディレクトリはありません
debug1:IDファイル/home/Jamie/.ssh/id_dsa-certタイプ-1
debug1:key_load_public:そのようなものはありませんファイルまたはディレクトリ
debug1:識別ファイル/home/Jamie/.ssh/id_ecdsaタイプ-1
debug1:key_load_public:そのようなファイルまたはディレクトリはありません
debug1:identity file /home/Jamie/.ssh/id_ecdsa-cert type -1
debug1:key_load_public:no such file or directory
debug1:identity file /home/Jamie/.ssh/id_ed25519 type -1
debug1:key_load_public:No such file or directory
debug1:identity file /home/Jamie/.ssh/id_ed25519-cert type -1
debug1:Enable compatibility mode for protocol 2.0
debug1:Local version string SSH-2.0-OpenSSH_7.1
debug1 :リモートプロトコルバージョン2.0、リモートソフトウェアバージョンOpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6
debug1:一致:OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6 pat OpenSSH_6.6.1 * compat 0x04000000
debug1:Authenticating to 127.0.0.1:2222 as 'vagrant 」
debug1:SSH2_MSG_KEXINITが送信した
接続は127.0.0.1でクローズされました

SSH2_MSG_KEXINITは、キーが交換されていることを意味します。これはまもなく失敗します...

この場合、キーを削除し、VMでこれを実行して再生成しました。(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

キーが再生成されたら、Vagrant BoxにSSHで接続できました。


0

仮想マシンを
破棄しました仮想マシンをリロードし
ました

理由はわかりませんが、最初のプロビジョニングで何かが適切に読み込まれなかったことは明らかです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.