【问题标题】:Authentication Error with Homestead after Restoring from Backup从备份恢复后 Homestead 的身份验证错误
【发布时间】: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。

【问题讨论】:

标签: vagrant virtualbox homestead ssh-keys


【解决方案1】:

由于 ssh 身份验证错误,我无法恢复备份虚拟机。 但是,我能够通过 ssh 进入机器并执行 mysqldump。 为了访问该文件,我遇到了挂载虚拟 CD 的问题,它从来没有工作过。幸好我跑了: sudo apt-get install virtualbox-guest-utils 然后我能够添加一个共享目录。 找到这个目录也不是很明显,因为它位于带有“sf”前缀(共享文件夹)的媒体导演中。因此,一旦我通过 VirtualBox GUI 设置了文件夹,我就必须运行: ls /media 谢天谢地,目录在那里。 然后我将 sql 转储文件复制到此目录,并且能够在我的本地计算机上看到它。

下一步是使用 TimeMachine 恢复到旧的 VM 文件夹(仍然不清楚为什么备份不起作用),然后运行 ​​homestead up,一切顺利,因为我能够访问 phpmyadmin 并导入 mysqldump文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    • 2021-10-17
    • 1970-01-01
    • 2016-09-21
    相关资源
    最近更新 更多