为什么游客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... 

您正在使用私钥ssh进入用户名为vagrant的访客机器。 检查你的vagrant文​​件,确保你使用了正确的私钥( config.ssh.private_key_path )。 我看到你正在使用phusion / baseimage,你是否启用不安全的密钥? 如果是这样,你可以使用phusion不安全的密钥(只需从git复制phusion私钥到你的本地.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将用于validationSSH用户的密码。