web-dev-qa-db-ja.com

Vagrant ssh認証失敗

Ssh認証に関する問題

==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: bridged
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Connection timeout. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...
    default: Error: Authentication failure. Retrying...

Ctrl+Cを認証ループから抜け出して、手動で正常にsshインすることができます。

私はゲストボックスで以下のステップを実行しました:

  • Remote Loginに対してAll Usersを有効にしました。

  • ~/.ssh権限を持つ0700ディレクトリを作成しました。

  • ~/.ssh/authorized_keys権限を持つ0600ファイルを作成しました。

  • この公開鍵~/.ssh/authorized_keysに貼り付けました

私はVagrantfileのこの行を使って、パブリック(ブリッジ)ネットワークの代わりにプライベート(hostonly)ネットワークを使ってみました。

config.vm.network "private_network", ip: "172.16.177.7"

同じ出力が得られます(Adapter 2: hostonlyを除く)が、手動でsshを入力することはできません。

私はconfig.vm.network "private_network", ip: "10.0.0.100"も試しました。

私はまたVagrantfileでconfig.ssh.passwordを設定しようとしました。これはSSH auth method: passwordを出力しますが、それでも認証されません。

そして私はまた箱を再建し、上記すべてを再確認してみました。

他の人がこの設定で成功した のように見えるので、私が間違っていることがあるはずです。

I このスレッドが見つかりました そしてGUIを有効にしましたが、それは役に立ちません。

139
ic3b3rg

最初のネットワークインターフェースがNATであることを確認してください。もう1つの2番目のネットワークインタフェースは、ボックスを構築するときに必要なものなら何でもかまいません。 Googleのスレッドで説明したように、Vagrantユーザーを忘れないでください。

がんばろう。

2
user3509054

一般的な情報:デフォルトではssh-connectが使われます。

ユーザー:vagrantパスワード:vagrant

https://www.vagrantup.com/docs/boxes/base.html#quot-vagrant-quot-user

まず、を試して、あなたのマシンの設定にどのようなvagrant insecure_private_keyがあるかを確認してください。

$ vagrant ssh-config

例:

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/konst/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

http://docs.vagrantup.com/v2/cli/ssh_config.html

次に、パーソナルシステムの内容でファイルinsecure_private_keyの内容を変更します秘密鍵

または:をVagrantファイルに追加してください。

Vagrant.configure("2") do |config|
  config.ssh.private_key_path = "~/.ssh/id_rsa"
  config.ssh.forward_agent = true
end
  1. config.ssh.private_key_pathはあなたのローカル秘密鍵です
  2. あなたの秘密鍵はローカルのssh-agentから利用可能でなければなりません。 ssh-add -Lで確認できます。表示されていない場合は、ssh-add ~/.ssh/id_rsaで追加します。
  3. Vagrant VMの~/.ssh/authorized_keysにあなたの公開鍵を追加することを忘れないでください。コピー&ペースト、または ssh-copy-id (ユーザー:rootパスワード:vagrant port:2222)のようなツールを使用してこれを実行できます。ssh-copy-id '-p 2222 [email protected]'

それでもうまくいかない場合は、これを試してください。

  1. insecure_private_keyファイルをc:\Users\USERNAME\.vagrant.d\insecure_private_keyから削除します

  2. vagrant upを実行します(vagrantは新しいinsecure_private_keyファイルを生成します)

それ以外の場合は、Vagrantfileforward_agent を設定すると便利です。

Vagrant::Config.run do |config|
   config.ssh.forward_agent = true
end

便利です:

gitの設定は git-scm.com で行うことができます

このプログラムをセットアップし、個人用システム秘密鍵を作成すると、自分のプロファイルパスに入ります。c:\users\USERNAME\.ssh\id_rsa.pub

PS:最後に - ご覧になることをお勧めします Windows 10のUbunt

162
shilovk

上記のどれも私のために働きませんでした。どういうわけかボックスはvagrantユーザーauthorised_keysファイルに誤った公開鍵が追加されていました。

それでもボックスにvagrantパスワード(パスワードはvagrant)を入力することができます。

ssh [email protected] -p 2222

次のコマンドを使用して、 https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub から、公開鍵の内容をauthorised_keysファイルにコピーします。

echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key" > .ssh/authorized_keys

完了したら、VMを終了して、vagrant sshをもう一度試してください。今動作するはずです。

79
Bizmate

Vagrant 1.8.5でこの問題が発生した場合は、githubでこのスレッドをチェックしてください。

https://github.com/mitchellh/vagrant/issues/761

それは基本的に許可の問題が原因です。回避策は

vagrant ssh 
password: vagrant 
chmod 0600 ~/.ssh/authorized_keys
exit

それから

vagrant reload 

参考:この問題はCentOSにのみ影響し、Ubuntuは問題なく動作します。

48
Lei Xu

ゲストマシン/ VMで以下のコマンドを実行します。

wget https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub -O ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R vagrant:vagrant ~/.ssh

それから浮気停止をしなさい。これにより、秘密鍵が削除されて再生成されます。

(これらの手順では、ホームフォルダの下に〜/ .ssh /および〜/ .ssh/authorized_keysディレクトリが既に作成されているか、既に作成されていると仮定しています。)

40
Raja Ehtesham

私の経験では、これは新しい浮浪者のマシンで驚くほど頻繁に起こる問題でした。これを解決する最も簡単な方法は、設定自体を変更するのではなく、必要なSSHキーをクライアント上で手動で作成してから、ホスト上のプライベートキーを使用することです。

  1. Vagrant machineにログインします。vagrant ssh、デフォルトのパスワードvagrantを使用します。
  2. Sshキーを作成します。例えば、ssh-keygen -t rsa -b 4096 -C "vagrant"GitHubの関連ガイドで推奨されているように )。
  3. 公開鍵ファイルの名前を変更して(デフォルトはid_rsa.pub)、古いファイルを上書きします(mv .ssh/id_rsa.pub .ssh/authorized_keys)。
  4. 必要に応じてsshサービスをリロードしてください:Sudo service ssh reload
  5. 秘密鍵ファイル(デフォルトではid_rsa)をホストマシンにコピーします。たとえば、catとクリップボードのcat .ssh/id_rsa、Paintとcopyをうまく組み合わせて使用​​します(より良い方法が存在しなければなりません。
  6. Vagrantマシンからログアウトします:logout
  7. その設定を見て、vagrantによって現在使用されている秘密鍵を見つけます:vagrant ssh-config(例えばÌdentityFile "/[...]/private_key"を見てください。
  8. 現在の秘密鍵を、ホストマシンで作成した秘密鍵と置き換えます。たとえば、nano /[...]/private_keyで、クリップボードから貼り付けると、それ以外の場合はすべて失敗します。 (ただし、private_keyがプロジェクト固有ではなく、複数のvagrantマシンで共有されている場合は、パスを変更するのはVagrantfileにconfig.ssh.private_key_path = "path/to/private_key"という行を追加するのと同じくらい簡単です。)さらに、 PuPHPet generated machineを使用している場合あなたはあなたの秘密鍵をpuphpet/files/dot/ssh/id_rsaファイルに保存することができ、それはVagrantfileのssh設定に自動的に追加されます。
  9. セットアップをテストします。vagrant sshは動作するはずです。

その場合は、logoutを祝福し、必要に応じてvagrant provisionを実行して、手元にある意味のあるタスクを続けてください。

それでも問題が解決しない場合は、デバッグを容易にするためにsshコマンドに冗長フラグを追加すると便利です。あなたは二重ダッシュの後にそれを(または他のオプション、それに関しては)渡すことができます。たとえば、vagrant ssh -- -vと入力します。あなたが必要とするのと同じくらい多くのvを追加すること自由に感じなさい、それぞれはあなたにもっと多くの情報を与えるだろう。

19
sankari

SSHでデフォルトでVMにrootユーザーを強制的に使わせようとしている場合も同様です。

たとえば、Vagrantfileのような設定はこの失敗を引き起こすかもしれません:

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

解決策:それらの行をコメントアウトしてもう一度やり直してください。

9
Brad Parks

問題プロビジョニングしたボックスで、SSH認証エラーが発生しました。オリジナルはうまくいっていました。

私にとっての問題は、.vagrant/machines/default/virtualbox/private_keyに秘密鍵がないことでした。元のボックスとViolaの同じ相対位置から秘密鍵をコピーしました。

8
GP89

私はここで述べた方法のどれにも成功しなかったWin 8.2のキーで混乱を回避する方法を見つけました。 VirtualBox、Vagrant、およびboxのまったく同じ組み合わせが問題なくWin 7 Ultimateで動作することは興味深いかもしれません。

Vagrantfileに次のコマンドを追加して、パスワード認証に切り替えました。

config.ssh.password = "vagrant"
config.ssh.insert_key = false

私が既に行ったので、これが必要とされる唯一の変更であると確信できないことに注意してください。

  1. 新しいRSAキーペアを生成し、それに応じてauthorized_keysファイルを変更しました(すべて仮想マシンで、上記および他の提案を参照してください)。

  2. Vagrantfileと同じディレクトリに秘密鍵をコピーして追加しました

     config.ssh.private_key_path = "./id_rsa"
    

しかし、私はこれらの変化は無関係であったと思います。私は十分な時間をかけて試したので、明白な理由で動作設定を変更しませんでした:)

6
Michael

VagrantFileでデフォルトのSSH設定を使用していて、クラッシュによるVMボックスの再関連付け後にSSH認証エラーが発生し始めた場合は、vagrantマシンの公開鍵を置き換えてみてください。

Vagrantは、セキュリティ上の理由から、ログアウトするたびに安全でない秘密鍵ペアに関連付けられている公開鍵を置き換えます。マシンを正しくシャットダウンしなかった場合、公開鍵と秘密鍵のペアが同期しなくなり、SSH認証エラーが発生する可能性があります。

この問題を解決するには、現在の安全でない秘密鍵をロードしてから公開鍵ペアをVMのauthorized_keysファイルにコピーするだけです。

4
thk

私にとっては、これはvagrant home directortの.sshフォルダのパーミッション(すなわち "〜vagrant/.ssh")を変更することによって解決されました。私は自分のアプリケーション用にsshキーを設定していたときにパーミッションをめちゃくちゃにしたと思います。

'authorized_keys'ファイルは 'vagrant'ユーザに対してのみ 'rw'でなければならないようですので、 "chmod 600 authorized_keys";ディレクトリ自体とその親についても同様です。

そう:

chmod 600 authorized_keys
chmod 700 .
chmod 700 ..

Vagrant sshが再び動作するようになったのは、私がallこれらの権限を復元した後に限られました。

これはsshセキュリティと関係があると思います。証明書が現在のユーザ以外にアクセス可能な場合、証明書を認識することを拒否します。そのため、ログインを試みるvagrantsの試みは拒否されます。

4
robert

これはリストの最後の答えかもしれませんが、これは私のために働いた、私はどこにもこの答えを見つけることができなかった、私は2日の研究の後にそれを私の自己と見いだした。

私の場合、問題は私のVirtualBoxから来ました。どのような理由でオプションが無効になっていて、有効にする必要があるのか​​わかりません。

enter image description here

あなたが画像で見ることができるように、私のVirtualBoxと私がこの問題を解決するためにしなければならなかったことのいくつかのネットワーク問題がありました。選択されました。私の場合、このオプションは選択されておらず、このステップで失敗しました。

default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key

最初に私はそのポートが既に使われていると思いました、その後私はVagrantを再インストールしました、そしてまた私は他のことを試みましたが、それらのどれも私のために働きませんでした。

3
paulalexandru

これは私に何度も起こり、それを解決する方法は次のとおりです。

  1. Vagrantfileに正しい秘密鍵のパスがあることを確認してください。

    config.ssh.private_key_path = "/home/razvan/.ssh/id_rsa"

  2. Linux端末で> vagrant sshコマンドを実行します。

  3. あなたの浮浪者のマシンで

    cd /home/vagrant/.ssh

authorized_keysファイルのsshキーが、ローカルマシンの〜/ .ssh/id_rsa.pubにあるものと同じであるかどうかを確認します。そうでなければあなたのvagrantauthorized_keysからのものをあなたのローカルマシン上のものと交換してください〜/ .ssh/id_rsa.pubにあります。

  1. Vagrantをリロードします。

    浮浪者のリロード

これが他の人に役立つことを願っています。乾杯!

3
Razvan

1.ホストで秘密鍵を見つけます。

vagrant ssh-config
#

出力:

Host default
  ...
  Port 2222
  ...
  IdentityFile /home/me/.vagrant.d/[...]/virtualbox/vagrant_private_key
  ...

2.秘密鍵のパスとポート番号を変数に格納します。

上記からの出力でこれら二つのコマンドを使用して下さい:

pk="/home/me/.vagrant.d/.../virtualbox/vagrant_private_key"
port=2222
#

3.公開鍵を生成してゲストマシンにアップロードします。

コピー/パスタ、変更は必要ありません。

ssh-keygen -y -f $pk > authorized_keys
scp -P $port authorized_keys [email protected]:~/.ssh/
vagrant ssh -c "chmod 600 ~/.ssh/authorized_keys"
rm authorized_keys
#
3
Nabil Kadimi

Macソリューション:

  1. Vagrant秘密鍵にローカルssh id_rsa鍵を追加しました

    vi /Users//.vagrant/machines/default/virtualbox/private_key

    /Users//.ssh/id_rsa

  2. vagrant boxにコピーされた公開鍵/Users//.ssh/id_rsa.pub

ssh [email protected] -p 2222(パスワード:vagrant)ls -lacd .ssh

  1. chmod 0600 ~/.ssh/authorized_keys

  2. vagrant reload

問題は解決しました。

ありがとう

2
Parag Lohiya

vagrantを起動できず、タイムアウトしますか?

私は最近 "ラップトップPCでの水事件"を起こし、(ところでMAC上で)新しいものに移行しなければなりませんでした。

私はvagrantを使っていたプロジェクトの横にあるすべてのプロジェクトを正常に稼働させました。

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 8000 (guest) => 8877 (Host) (adapter 1)
    default: 8001 (guest) => 8878 (Host) (adapter 1)
    default: 8080 (guest) => 7777 (Host) (adapter 1)
    default: 5432 (guest) => 2345 (Host) (adapter 1)
    default: 5000 (guest) => 8855 (Host) (adapter 1)
    default: 22 (guest) => 2222 (Host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...

それは認証できず、何度も何度も再試行し、最終的にあきらめました。

**これが私が3つのステップで形に戻った方法です:**

1 - vagrantが使用しているIdentityFileを探します。$ vagrant ssh-config

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /Users/ned/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL

2 - IdentityFileの公開鍵を確認します。$ ssh-keygen -y -f /Users/<user-name>/.vagrant.d/insecure_private_key'<user-name>'をユーザーのものに置き換えます。次のようになります。

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==

3 - パスワード "vagrant"でvagrantマシンにログインします。$ ssh -p 2222 -o UserKnownHostsFile=/dev/null [email protected]

The authenticity of Host '[127.0.0.1]:2222 ([127.0.0.1]:2222)' can't be established.
RSA key fingerprint is dc:48:73:c3:18:e4:9d:34:a2:7d:4b:20:6a:e7:3d:3e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[127.0.0.1]:2222' (RSA) to the list of known hosts.
[email protected]'s password: vagrant
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
...

4 - authorized_keysファイルに公開鍵を追加します。 $ echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > /home/vagrant/.ssh/authorized_keys ssh-rsa

5 - 終了(crtl + d)して浮遊物の容器を止め、元に戻す。 $ vagrant halt $ vagrant up

うまくいけば、あなたは今あなたの腕を空中に持っているでしょう...

私は、Ned Batcheldersから、ちょっとした修正を加えて、これを得ました article - Nedあなたはチャンピオンです!

2
Anas

また乗り越えることができませんでした:

デフォルト:SSH認証方式:秘密鍵

VirtualBoxのGUIを使用したとき、OSプロセッサの不一致があることがわかりました。

さらに進歩していくためには、BIOS設定で直感的に直感的に判断しなければなりませんでした。

無効にする:仮想化

有効にする:VT-X

BIOSでこれらの設定を切り替えてみてください。

1
Onshop

私は次のようにして問題を解決しました。 1. Git Bashを使って新しいSSHキーを作成する

$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
# Creates a new ssh key, using the provided email as a label
Generating public/private rsa key pair.
  1. 「キーを保存するファイルを入力してください」というプロンプトが表示されたら、Enterキーを押します。これはデフォルトのファイルの場所を受け入れます。

    キーを保存するファイルを入力します(/Users/[you]/.ssh/id_rsa):[enterキーを押す]

  2. プロンプトで、安全なパスフレーズを入力します。パスフレーズが不要な場合は、空白のままにしてEnterキーを押すことができます。

    キーを保存するファイルを入力します(/Users/[you]/.ssh/id_rsa):[enterキーを押す]

  3. Vagrant VMに接続するには、次のコマンドを入力します。

    ssh vagrant @ localhost -p 2222

次のメッセージが表示されたら、「yes」と入力してEnterキーを押します。

The authenticity of Host 'github.com (192.30.252.1)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
  1. 今SSH接続タイプを確立するため:$ vagrant ssh

  2. ホスト公開鍵をVagrant VMのauthorized_keysファイルにコピーします。そのためには、 "Users/[you] /。ssh"フォルダに移動し、ホストマシンのid_rsa.pubファイルの内容をVagrant VMの "〜/ .ssh/authorized_keys"ファイルにコピーします。

  3. Vagrant VMのSSHフォルダとauthorized_keysファイルに対する権限の変更
  4. $ vagrant reloadでvagrantを再起動してください。
1
Krishna

まず最初に、自動生成されたinsecure_private_keyファイルを削除してから、次のように入力してこのファイルを再生成します。

vagrant ssh-config

それから

vagrant halt
vagrant up

うまくいくはずです

1
Ahmet Karakaya

VMマシンでこれを試しました

パーミッション/ home/vagrantを変更します(chmod 700を変更しました)

今、私は私の箱に直接sshすることができます

0
ajay_lamp

この問題は、Windows 7 CMDでコマンドを実行することで解決しました。これは、このスレッドの最後の投稿です。

https://github.com/mitchellh/vagrant/issues/6744

Some commands that will reinitialize various network states:
Reset WINSOCK entries to installation defaults : netsh winsock reset catalog
Reset TCP/IP stack to installation defaults : netsh int ip reset reset.log
Flush DNS resolver cache : ipconfig /flushdns
Renew DNS client registration and refresh DHCP leases : ipconfig /registerdns
Flush routing table : route /f
0

Windowsでもう一つの簡単な解決策は、Homestead/Vagrantfileファイルに行き、秘密鍵の代わりにユーザー名/パスワードで接続するためにこれらの行を追加します:

config.ssh.username = "vagrant"  
config.ssh.password = "vagrant"  
config.ssh.insert_key = false 

そのため、ファイルの一部は次のようになります。

if File.exists? homesteadYamlPath then
    settings = YAML::load(File.read(homesteadYamlPath))
elsif File.exists? homesteadJsonPath then
    settings = JSON.parse(File.read(homesteadJsonPath))
end

config.ssh.username = "vagrant"  
config.ssh.password = "vagrant"  
config.ssh.insert_key = false 

Homestead.configure(config, settings)

if File.exists? afterScriptPath then
    config.vm.provision "Shell", path: afterScriptPath, privileged: false
end

この助けを願っています..

0
Khaled Ali

ここでのすべての回答の間に、試すべきたくさんの良いことがあります。完全を期すために、

ssh [email protected] -p 2222

@Bizmateが示唆しているように、それが失敗する場合は、必ず持っている

AllowUsers vagrant

あなたのguest/vagrantマシンの/etc/ssh/sshd_configに。

0
Don Smith

私のような馬鹿だった、あるいは彼らの気高いマシンに何かおかしなことが起こった人々のためだけに。このエラーは、vagrantユーザーのホームディレクトリのアクセス許可を(故意にまたは誤って)変更した場合にも発生する可能性があります。

代わりに(他の投稿で説明されているように)パスワード( 'vagrant')を使用してログインしてから、以下のコマンドを実行して許可を修正することができます。

Sudo chown -R vagrant:vagrant /home/vagrant

そうすれば、パスワードを入力せずに再びログインできるはずです。

TL; DR:あなたのvagrantホームフォルダのパーミッションが間違っています。

0
Aeolun

それから私は機械を始めた。

vagrant ssh-config

私は以下のものを手に入れました:

Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa IdentityFile /Users/my-user-name/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL

それから私は走った

cat ~/.ssh/id_rsa > /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa

ここから起動したマシン

  • El Capitan 10.11.1 Beta(15B38b)
  • バーチャルボックス5.0.8 r103449
  • Vagrant 1.7.4
0
Radek

これは、vagrant upコマンドを実行したときに発生したこの問題を解決するための正しい手順です。

これらは私が従ったステップです

  1. フォルダを作成します。例:F:\プロジェクト
  2. Git bashでこのフォルダを開き、次のコマンドを実行してください。ssh-keygen -t rsa -b 4096 -C "[email protected]"(有効なメールアドレスを入力してください)
  3. その後、プロジェクトフォルダ内の2つの別々のファイルにキーペアを生成します。例:project(秘密鍵ファイル)、project.pub(公開鍵ファイル)
  4. この場所C:\ Users\Acer.vagrant.dに移動し、ファイルinsecure_private_keyを見つけます。
  5. ファイルのバックアップを取得し、新しく作成された秘密鍵の内容をコピーしてinsecure_private_keyファイルに貼り付けます。次にinsecure_private_keyをコピーしてこの場所にも貼り付けます。
  6. 今すぐあなたのプロジェクトの場所に浮上します。上記の問題タイプvagrant sshを生成した後、ユーザー名、パスワードを入力して中に入ります。 (デフォルトでは、ユーザー名とパスワードはvagrantに設定されています)
  7. この場所にcd /home/vagrant/.ssh入って、mv authorized_keys authorized_keys_bkと入力してください。
  8. 次に、ls -alと入力してvi authorized_keysと入力して、authorized_keysファイルを開きます。
  9. Notepad ++(project.pub)から生成された公開鍵を開き、コンテンツをコピーします。次にgit bashでiを押してviエディターで挿入モードを有効にし、右クリックして貼り付けます。挿入モードから抜け出すためにエスケープを押した後
  10. :wq!ファイルを保存してls -alと入力します。
  11. そうすると、許可はdrwx ------を変更する必要がないように設定されます。 2 vagrant vagrant 4096年2月13日15時33分。 drwx ------。 4 vagrant vagrant 4096年2月13日14時04分.. -rw -------。 1 vagrant vagrant 743 Feb 13 14:26 authorized_keys -rw -------。 1ルートルート409 2月13日13時57分authorized_keys_bk -rw -------。 1 vagrant vagrant 409 Jan 2 23:09 authorized_keys_originialそれ以外の場合はchmod 600 authorized_keysと入力し、このコマンドも入力してくださいvagrant chown vagrant:vagrant authorized_keys
  12. 最後に浮気停止を実行し、再び浮上します。

************************このIS私のための仕事の終わり************** *****************

0
Vayodya Tamari

パッケージ化されたベースボックスの最後の数日間、これを頭に打っていました。 (Mac OS X、El Capitan)

@Radekの手順に従って、私はソースボックスに 'vagrant ssh-config'をして次のようにしました。

...
/Users/Shared/dev/<source-box-name>/.vagrant/machines/default/virtualbox/private_key
...

新しいコピーで、そのコマンドは私に与えました:

...
IdentityFile /Users/<username>/.vagrant.d/insecure_private_key
...

だから、私はちょうど新しいコピーにこの行を追加しました:

...
config.ssh.private_key_path = "/Users/Shared/dev/<source-box-name>/.vagrant/machines/default/virtualbox/private_key"
...

完璧ではありませんが、私は私の人生に乗ることができます。

0
rickb

シンプル:

Homestead destroy
Homestead up

編集(最初の考えほど単純ではありません):

問題は、Homesteadの新しいバージョンがphp7.0と他のものを使うことでした。この混乱を避けるため、Homestead.ymlverisonname__を必ず設定してください。

version: "0"
0
surfer190

2015年5月からVagrantをPuphpetセットアップで使用していますが、この問題がありました。生成された設定は、安全でないキーを検出した場合にsshキーを再生成するVagrant 1.7.4(またはそれより少し早い?)動作を処理しなかったようです。

私は私のPuphpetが生成したVagrantfile(ローカルセットアップ)に "if File.file?(customKey)"節の中に以下を追加することによってそれを解決しました:

config.ssh.insert_key = false

参照コミット