为什么vagrant 1.6 + docker一直要求SSH连接密码



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...

您正在使用私钥以用户名vagrant ssh到客户机。检查您的vagrantfile以确保您正在使用正确的私钥(config.ssh.private_key_path)。我看到您正在使用phusion/baseimage,您启用了不安全密钥吗?如果是这样,您可以使用phusion不安全密钥(只需将phusion私钥从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"

或者您可以使用config.ssh.password,如果您知道pwd -这将设置一个密码,Vagrant将使用该密码来验证SSH用户。

最新更新