【问题标题】:Vagrant - Changing the ssh password conectionVagrant - 更改 ssh 密码连接
【发布时间】:2016-05-29 19:24:16
【问题描述】:

好吧,我正在使用 Vagrant 对虚拟机进行一些测试,但现在当我尝试通过终端连接 throw ssh 时,我无法更改机器的默认密码“vagrant”。

这是 Vagrant 文件:

Vagrant.configure(2) do |config|
  config.vm.box = "192.168.0.21"
  config.ssh.username = "vagrant"
  config.ssh.password = '123'
  config.ssh.insert_key = true
  config.vm.network "public_network", bridge: "wlan0", ip: "192.168.0.21" 
  config.vm.provider "virtualbox" do |v|
    v.name = "192.168.0.21"
    v.cpus = 1
    v.memory = 512
  end
end

您意识到我将密码(config.ssh.password)更改为“123”,但是当我重新启动机器(vagrant halt --> and 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: bridged
==> default: Forwarding ports...
    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: root
    default: SSH auth method: password
    default: Warning: Remote connection disconnect. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
Text will be echoed in the clear. Please install the HighLine or Termios libraries to suppress echoed text.
root@127.0.0.1's password:

我不知道该怎么办... 感谢您的帮助,谢谢!

【问题讨论】:

    标签: vagrant vagrantfile vagrant-provision


    【解决方案1】:

    配置不会更改机器的密码。它只是更改了 Vagrant 使用的密码,以通过 SSH 与机器进行身份验证。 See more on docs.

    如果您想更改机器上的用户密码,请使用默认密码初始化机器,连接后通过 SSH 身份验证的命令行(或 GUI,如果在 vagrant 文件上配置)进行更改。

    【讨论】:

    • 我想更改用于通过 ssh 进行身份验证的密码,但是我正在更改“config.ssh.password”并且它不起作用,密码保持默认(“vagrant”)。我已经给出“vagrant halt”和“vagrant up”并保持相同的ssh密码
    • 如前所述,您需要进入虚拟机,运行passwd 这样您就可以更改您的密码,然后您可以使用您更新的相同密码来更改 Vagrantfile