私は次の要件で迷惑なマシン(Ubuntu 12.04)を構築しています:
ホストで(ssh-keygen
を介して)公開鍵/秘密鍵を生成し、公開鍵をゲストのauthorized_keys
ファイルに移動しました。そして、私はパスワードなしのSSHを試しました。
パスワードが有効なSSHキーでvagrant ssh
と入力すると、いくつかのことが起こります。
その結果、次のエラーメッセージが表示されます。
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 up
vagrant 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.
私はこのスレッドに来る人のためにこのソリューションを追加しています:
まず、ホストマシンでこのファイルを開きます。
$ 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
これは私のために働いた
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
その後、私はマシンをシャットダウンし、それを再起動し、浮浪者はそれをうまく行いました。 :-)
vagrant insecure public key をファイル.ssh/authorized_keys
にゲストボックスにコピーしてみてください。
これでsshの問題が解決することを願っています。
安全にしたい場合は、独自の.ssh/id_rsa.pubを前述のファイルにコピーしてください。そして設定
config.ssh.private_key_path = '〜/ .ssh/id_rsa'
あなたのVagrantfileで。
この問題を抱えている人のために。修正するのに何年もかかりました。 (それでも修正は簡単です!!)したがって、Vagrantのドキュメントによると、「vagrant」ユーザーにはデフォルトのパスワードがあり、これは単一引用符なしの「vagrant」です。詳細については、公式ウェブサイト http://docs.vagrantup.com/v2/boxes/base.html をご覧ください。
Mac OS High Sierraで問題を解決するには、以下の手順に従ってください:-
スクリプトがある場合は実行を開始し、仮想ボックスをダウンロードします。 8.「完了」というメッセージが表示されます
仮想ボックスが正しくインストールされていることを確認してから、vagrantコマンドのみを実行してください。問題が発生した場合は、pkgに付属のアンインストールスクリプトを実行して仮想ボックスをアンインストールし、再度インストールしてください。