为什么vagrant 1.6 + docker不断要求ssh连接的密码

时间:2014-08-22 02:24:04

标签: vagrant docker


root@ssd:~/vagrant-docker# vagrant up
Bringing machine 'default' up with 'docker' provider...
==> default: Creating the container...
    default:   Name: vagrant-docker_default_1127288133
    default:  Image: phusion/baseimage
    default: Volume: /home/ming/vagrant-docker:/vagrant
    default:   Port: 2222:22
    default:
    default: Container created: e66a757c034fa644
==> default: Starting container...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 172.17.0.53:22
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection refused. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...
    default: Warning: Authentication failure. Retrying...

1 个答案:

答案 0 :(得分:1)

您正在使用私钥ssh到具有用户名vagrant的来宾计算机。检查您的vagrantfile以确保使用正确的私钥(config.ssh.private_key_path)。我看到你正在使用phusion / baseimage,你启用了不安全的密钥吗?如果是这样,你可以使用phusion insecure密钥(只需将git私钥从git复制到你的本地.ssh目录)。 Docker使用root用户,尝试root而不是vagrant。

  config.vm.provider :docker do |d|
      d.cmd = ["/sbin/my_init", "--enable-insecure-key"]
      d.image = "phusion/baseimage"
      d.name = "baseimage"
      d.has_ssh = true
  end

  config.ssh.username = "root"
  config.ssh.private_key_path = "~/.ssh/phusion.key"

如果您知道pwd,也可以使用config.ssh.password - 这设置了Vagrant用于验证SSH用户的密码。