【发布时间】:2018-08-26 14:22:39
【问题描述】:
我在忘记备份数据库之前不小心运行了vagrant destroy。我用备份替换了我的 VM 目录,然后更正了 UUID,以便它们匹配。但是,在尝试启动 Homestead 时,我收到了一个身份验证错误:
$ homestead up
/opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/pre-rubygems.rb:31: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
/opt/vagrant/embedded/gems/gems/bundler-1.10.6/lib/bundler/shared_helpers.rb:78: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: There was a problem while downloading the metadata for your box
==> default: to check for updates. This is not an error, since it is usually due
==> default: to temporary network problems. This is just a warning. The problem
==> default: encountered was:
==> default:
==> default: The requested URL returned error: 404 Not Found
==> default:
==> default: If you want to check for box updates, verify your network connection
==> default: is valid and try again.
==> 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: 80 (guest) => 8000 (host) (adapter 1)
default: 443 (guest) => 44300 (host) (adapter 1)
default: 3306 (guest) => 33060 (host) (adapter 1)
default: 5432 (guest) => 54320 (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...
我可以在 VirtualBox GUI 中启动 Homestead 并使用 vagrant/vagrant 登录,但这无助于让我的网站在线,因为在尝试在浏览器中访问网站时会显示 No Input File Specified。
之前在这台机器上设置了 ssh 密钥(备份只有几天),所以我认为身份验证仍然有效。
如何让 Homestead 备份?使用 OSX Sierra、VirtualBox 5.0.14、Homestead 2.2.1、Vagrant 1.8.1
当谈到 ssh 密钥时,我有点迷茫,但我已经提取了以下内容: 在 OSX 终端中:
$ vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2200
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "/Users/Myself/.vagrant.d/insecure_private_key"
IdentitiesOnly yes
LogLevel FATAL
$ cat /Users/Myself/.vagrant.d/insecure_private_key
-----BEGIN RSA PRIVATE KEY------
MIIEogIBAAKCAQEA6NF8iallvQVp22WDk..... omitted ...
-----END RSA PRIVATE KEY-----
然后我可以 ssh 进入 Homestead 实例并运行:
$ cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADA .... omitted ...6KI3AcGkjQOt/ vagrant
回到 OSX 的终端,我有:
$ cat ~/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,FD8746C7776F06E98C74CBABEE95360C
MffswxNSLA1bn9/APO9/mb5QdF1...omitted
-----END RSA PRIVATE KEY-----
其中一些键是否需要相同?
编辑:Homestead 机器上的 mysqldump 成功!但是——我不知道如何把它移到我的本地机器上。共享文件夹似乎不起作用。我可以看到 home/vagrant/Code 目录,但它是空的,似乎不适合我的本地版本。在设置>共享文件夹中我看到 文件夹路径:/Users/Myself/Code 文件夹名称:home_vagrant_Code 但这似乎并没有从 /Users/Myself/Code 中提取任何文件。 如果我可以将 mysqldump 从 VM 中取出,我会将 VM 回滚到它工作时的状态并从那里恢复 DB。
【问题讨论】:
-
请将您的问题移至Super User(在此处删除,在此处重新发布)。这是off-topic here。
标签: vagrant virtualbox homestead ssh-keys