160

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 で次の行を使用して、パブリック (ブリッジ) ネットワークの代わりにプライベート (ホストオンリー) ネットワークを使用してみました。

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

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

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

config.ssh.passwordVagrantfileにも設定してみました。これは出力しますSSH auth method: passwordが、まだ認証しません。

また、ボックスを再構築して、上記のすべてを再確認してみました。

他の人がこの構成で成功したように見えるので、何か間違っているに違いありません。

このスレッドを見つけて GUI を有効にしましたが、役に立ちません。

4

31 に答える 31

179

一般的な情報:デフォルトでは、ssh-connect に単純に使用できます。

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

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

まず、試してみてください:insecure_private_keyマシン構成にどの vagrantがあるかを確認します

$ 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あなたの個人的なシステムの秘密鍵 の内容でファイルの内容を変更します

または使用: Vagrantfile に追加します。

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. ~/.ssh/authorized_keysVagrant VM に公開鍵を追加することを忘れないでください。コピー アンド ペーストするか、 ssh-copy-id (ユーザー:rootパスワード:vagrantポート: 2222)などのツールを使用して、これを行うことができます。ssh-copy-id '-p 2222 root@127.0.0.1'

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

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

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

それ以外の場合は、次のようにforward_agentを設定すると便利です Vagrantfile:

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 で Ubuntuを確認することをお勧めします

于 2014-05-09T00:45:11.747 に答える
86

None of the above worked for me. Somehow the box had the wrong public key added in the vagrant user authorised_keys file.

If you can still ssh on the box with the vagrant password (password is vagrant), i.e.

ssh vagrant@localhost -p 2222

then copy the public key content from https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub to the authorised_keys file with the following command

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

When done exit the VM and try vagrant ssh again. It should work now.

于 2015-06-11T22:08:40.147 に答える
48

vagrant 1.8.5 でこの問題が発生した場合は、github の次のスレッドを確認してください。

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

これは基本的に許可の問題が原因であり、回避策は

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

それから

vagrant reload 

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

于 2016-08-04T06:51:55.167 に答える
5

私の場合、これは、vagrant ホーム ディレクトリの .ssh フォルダー (つまり、"~vagrant/.ssh") のアクセス許可を変更することで解決されました。アプリケーションの ssh キーを設定するときに、アクセス許可を台無しにしたと思います。

'authorized_keys' ファイルは 'vagrant' ユーザーに対してのみ 'rw' でなければならないようです。同じことがディレクトリ自体とその親にも当てはまります。

それで:

chmod 600 authorized_keys
chmod 700 .
chmod 700 ..

vagrant ssh が再び機能し始めたのは、これらの権限をすべて復元した後でした。

sshのセキュリティに関係していると思います。証明書が現在のユーザーを超えて何らかの方法でアクセスできる場合、証明書の認識を拒否するため、vagrant のログイン試行は拒否されます。

于 2015-01-26T16:25:17.590 に答える
3

これはリストの最後の回答かもしれませんが、これは私にとってはうまくいきましたが、この回答はどこにも見つかりませんでした.

私の場合、問題は VirtualBox から発生しました。オプションが無効になった理由がわかりませんが、有効にする必要がありました。

ここに画像の説明を入力

画像でわかるように、私の VirtualBox にはいくつかのネットワークの問題がありました。この問題を解決するために私がしなければならなかったことは、自分のマシンを選択し、設定、ネットワーク タブを押してから、オプション ケーブルが接続されていることを確認することでした。選ばれました。私の場合、このオプションは選択されておらず、このステップで失敗しました:

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

最初に、ポートが既に使用されていると思いました。その後、Vagrant を再インストールし、他のことも試しましたが、どれもうまくいきませんでした。

于 2016-10-06T09:26:36.090 に答える
3

これは私に何度か起こりましたが、私がそれを解決した方法は次のとおりです。

  1. Vagrantfile に正しい秘密鍵のパスがあることを確認します。

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

  2. Linux ターミナルで > vagrant ssh コマンドを実行します。

  3. vagrant マシンで次の場所に移動します。

    cd /home/vagrant/.ssh

そして、authorized_keys ファイルの ssh キーが、ローカル マシンの ~/.ssh/id_rsa.pub にあるものと同じかどうかを確認します。そうでない場合は、vagrantの authorized_keys のものを、ローカル マシンの ~/.ssh/id_rsa.pub にあるものに置き換えます。

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

    vagrant リロード

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

于 2016-04-14T08:02:19.910 に答える
1

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

vagrant ssh-config

それから

vagrant halt
vagrant up

それはうまくいくはずです

于 2016-02-26T18:05:12.060 に答える
0

これは、vagrant up コマンドの実行時に発生した次の問題を修正するために実行したすべての正しい手順です。

これらは私が従った手順です

  1. フォルダーを作成します。例 F:\projects
  2. このフォルダーを git bash で開き、コマンド ssh-keygen -t rsa -b 4096 -C "your_email@example.com" を実行します (有効なメール アドレスを入力してください)。
  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 に移動し、 mvauthorized_keysauthorized_keys_bk と入力します
  8. 次に、ls -al と入力し、vi と入力して、authorized_keys ファイル vi エディターを開きます。
  9. 生成された公開鍵を notepad++ (project.pub) から開き、コンテンツをコピーします。次に、git bash で i を押して、vi エディターで挿入モードを有効にし、右クリックして貼り付けます。エスケープを押して挿入モードから抜けた後
  10. :wq! ファイルを保存して ls -al と入力します
  11. 次に、以下のようにパーミッションを設定します。drwx を変更する必要はありません------。2 vagrant vagrant 4096 Feb 13 15:33 . drwx------。4 vagrant vagrant 4096 Feb 13 14:04 .. -rw-------. 1 vagrant vagrant 743 Feb 13 14:26authorized_keys -rw-------。1 root root 409 Feb 13 13:57authorized_keys_bk -rw-------。1 vagrant vagrant 409 Jan 2 23:09authorized_keys_originial それ以外の場合は、chmod 600authorized_keys と入力し、このコマンドも入力してください chown vagrant:vagrantauthorized_keys
  12. 最後に vagrant halt を実行し、再度 vagrant up を実行します。

************************これは私にとってはうまくいきます******************** ************

于 2016-02-14T06:38:47.747 に答える
0

ここでのすべての回答の中には、試してみる価値のあることがたくさんあります。完全を期すために、

ssh vagrant@localhost -p 2222

@Bizmateが示唆するように、失敗します。

AllowUsers vagrant

/etc/ssh/sshd_configゲスト/浮浪者マシンの

于 2015-11-03T12:58:42.153 に答える
0

マシンを起動したら、次のようにします。

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

ここから起動するマシン

  • エル キャピタン 10.11.1 ベータ (15B38b)
  • 仮想ボックス 5.0.8 r103449
  • 放浪者 1.7.4
于 2015-10-24T01:47:08.260 に答える
0

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

代わりに (他の投稿で説明されているように) パスワード (「vagrant」) を使用してログインし、次のコマンドを実行してアクセス許可を修正できます。

sudo chown -R vagrant:vagrant /home/vagrant

その後、パスワードを入力せずに再度ログインできるはずです。

TL;DR: vagrant ホーム フォルダーのアクセス許可が間違っています。

于 2016-05-31T01:46:43.193 に答える
0

これで指定されているように、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
于 2016-08-10T19:20:39.773 に答える
0

単純:

homestead destroy
homestead up

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

問題は、新しいバージョンのホームステッドの使用php7.0とその他のものでした。この混乱を避けるために、必ず in を設定してverisonくださいHomestead.yml:

version: "0"
于 2016-07-23T09:32:19.903 に答える