web-dev-qa-db-ja.com

Vagrant VMのSSHの基本

私は次の要件で迷惑なマシン(Ubuntu 12.04)を構築しています:

  • Sudo権限を持つユーザーへのVagrant経由のSSHアクセス。

ホストで(ssh-keygenを介して)公開鍵/秘密鍵を生成し、公開鍵をゲストのauthorized_keysファイルに移動しました。そして、私はパスワードなしのSSHを試しました。

パスワードが有効なSSHキーでvagrant sshと入力すると、いくつかのことが起こります。

  • ゲストVMにSSH接続するには、ホストマシンにキーフレーズを入力する必要があります。
  • correctキーフレーズを入力するたびに、受け入れられません。

その結果、次のエラーメッセージが表示されます。

SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.

次に、パスワードなしのsshを試しました。

vagrant ssh
[email protected]'s password: 

??

私は迷惑なユーザーを設定したことはありません!私が設定したのでuser@hostnameであるはずです。VirtualBoxでVMを起動すると動作を確認できます。

プライベートsshキーをvagrantで正しく機能させるにはどうすればよいですか?ホストで何を、ゲストで何をすべきか?

更新

VirtualBoxでVMはライブですが、vagrant sshの問題に加えて、Vagrant Consoleから次のコマンドを実行できません。

vagrant upvagrant halt

機能する唯一のvagrantコマンドはvagrant suspendです。私がそれを使用すると、vagrant haltを介して実際にマシンを停止できます。出力は次のとおりです。

$ vagrant halt
[default] Attempting graceful shutdown of VM...
SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.
23
rhodee

私はこのスレッドに来る人のためにこのソリューションを追加しています:

まず、ホストマシンでこのファイルを開きます。

$ Sudo vim ~/.vagrant.d/boxes/<yourbox>/include/_Vagrantfile

それを確認する config.ssh.private_key_pathが秘密鍵ファイルに設定されています。更新しない場合

デフォルトのパスワードでvagrantボックスにssh

$ vagrant ssh (default pwd = ‘vagrant’]

ボックスに入ったら:

vagrant@lucid64:~$ Sudo visudo -f .ssh/authorized_keys

このファイルに公開鍵を追加してファイルを保存し、ボックスを終了します

vagrant@lucid64:~$ exit

ローカルマシンに戻る

$ vagrant halt
$ vagrant up

これは私のために働いた

21
Suchit Parikh

SSHキーの問題が原因ではないのですが、同じ問題がありました。マシンを起動すると、Virtualboxが機能し、ゲストを正常に起動させました。私は自分でマシンにSSHで接続でき、vagrant sshは機能しましたが、パスワードを要求されました。私はログインし、ゲストの/var/log/auth.logで以下を見つけました:

Feb 13 10:14:34 spaaza-dev sshd[1468]: Accepted password for vagrant from 192.168.50.1 port 61816 ssh2
Feb 13 10:14:34 spaaza-dev sshd[1468]: pam_unix(sshd:session): session opened for user vagrant by (uid=0)
Feb 13 10:14:34 spaaza-dev sshd[1636]: Received disconnect from 192.168.50.1: 11: disconnected by user
Feb 13 10:14:34 spaaza-dev sshd[1468]: pam_unix(sshd:session): session closed for user vagrant
Feb 13 10:16:44 spaaza-dev sshd[1764]: Authentication refused: bad ownership or modes for directory /home/vagrant

/ home/vagrantの権限を調べに行きました:

drwxrwxrwx  6 vagrant vagrant 4096 Feb 13 10:15 vagrant

良くない、私がやっていた何かが/ home/vagrant dirのパーミッションをうっかり変更してしまった。以下は問題を修正しました:

# chmod 755 vagrant

drwxr-xr-x  6 vagrant vagrant 4096 Feb 13 10:15 vagrant

その後、私はマシンをシャットダウンし、それを再起動し、浮浪者はそれをうまく行いました。 :-)

3
Sam Critchley

vagrant insecure public key をファイル.ssh/authorized_keysにゲストボックスにコピーしてみてください。

これでsshの問題が解決することを願っています。

安全にしたい場合は、独自の.ssh/id_rsa.pubを前述のファイルにコピーしてください。そして設定

config.ssh.private_key_path = '〜/ .ssh/id_rsa'

あなたのVagrantfileで。

2
Gaurav Agarwal

この問題を抱えている人のために。修正するのに何年もかかりました。 (それでも修正は簡単です!!)したがって、Vagrantのドキュメントによると、「vagrant」ユーザーにはデフォルトのパスワードがあり、これは単一引用符なしの「vagrant」です。詳細については、公式ウェブサイト http://docs.vagrantup.com/v2/boxes/base.html をご覧ください。

2
Denn

同様の問題がありました。最終的に私はそれを解決しました:

  • VagrantとVirtualboxの両方が最新であることを確認する
  • vagrant-vbguestプラグインをインストールして、VirtualBox Guest Additionsが最新であることを確認 GitHubRubyGems

    vagrant plugin install vagrant-vbguest
    
2
Flimm

Mac OS High Sierraで問題を解決するには、以下の手順に従ってください:-

  1. Vagrant 5.Xバージョンを使用しています
  2. まず、仮想ボックスをダウンロードし、インストールしないでください。
  3. [システム設定]-> [プライバシー]に移動し、[アメリカによるダウンロードを許可]をクリックします。
  4. 上記の変更をロックし、仮想ボックスをインストールします。
  5. 仮想ボックスのインストール成功の完了メッセージが表示されます。
  6. 端末タイプvagrant up --provisionに移動します
  7. スクリプトがある場合は実行を開始し、仮想ボックスをダウンロードします。 8.「完了」というメッセージが表示されます

  8. 仮想ボックスが正しくインストールされていることを確認してから、vagrantコマンドのみを実行してください。問題が発生した場合は、pkgに付属のアンインストールスクリプトを実行して仮想ボックスをアンインストールし、再度インストールしてください。

0