流浪者的CoreOS身份验证失败

时间:2014-07-21 14:21:10

标签: ssh vagrant coreos

我今天尝试使用CoreOS。所以我只是尝试按照Start guide执行以下命令:

git clone https://github.com/coreos/coreos-vagrant.git

cd coreos-vagrant

vagrant up

coreos-vagrant的文件夹有一些配置资源,如:config.rb&用户数据

config.rb:

$update_channel='alpha'

用户数据:

#cloud-config

coreos:
  etcd:
    addr: $public_ipv4:4001
    peer-addr: $public_ipv4:7001
  fleet:
    public-ip: $public_ipv4
  units:
    - name: etcd.service
      command: start
    - name: fleet.service
      command: start

users:
  - name: carbonell
    passwd: $1$BulVX1y9$8W/3RHZAed3fb.wmbZYGi0
    groups:
      - docker

命令结果:

devops@devops-server:~/workspace/coreos-vagrant$ vagrant up
Bringing machine 'core-01' up with 'virtualbox' provider...
==> core-01: Importing base box 'coreos-alpha'...
==> core-01: Matching MAC address for NAT networking...
==> core-01: Setting the name of the VM: coreos-vagrant_core-01_1405929178704_22375
==> core-01: Clearing any previously set network interfaces...
==> core-01: Preparing network interfaces based on configuration...
    core-01: Adapter 1: nat
    core-01: Adapter 2: hostonly
==> core-01: Forwarding ports...
    core-01: 22 => 2222 (adapter 1)
==> core-01: Running 'pre-boot' VM customizations...
==> core-01: Booting VM...
==> core-01: Waiting for machine to boot. This may take a few minutes...
    core-01: SSH address: 127.0.0.1:2222
    core-01: SSH username: vagrant
    core-01: SSH auth method: private key
    core-01: Warning: Connection timeout. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
    core-01: Warning: Authentication failure. Retrying...
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

辅助参考:https://github.com/coreos/coreos-vagrant.git

3 个答案:

答案 0 :(得分:5)

您是否为Vagrant添加了ssh密钥?

$ ssh-add ~/.vagrant.d/insecure_private_key
Identity added: /Users/core/.vagrant.d/insecure_private_key (/Users/core/.vagrant.d/insecure_private_key)
$ vagrant ssh core-01 -- -A

参考:http://coreos.com/docs/quickstart/

答案 1 :(得分:5)

Vagrant具有在启动时替换不安全私钥的功能:

core-01: 
core-01: Vagrant insecure key detected. Vagrant will automatically replace
core-01: this with a newly generated keypair for better security.
core-01: 
core-01: Inserting generated public key within guest...
core-01: Removing insecure key from the guest if its present...
core-01: Key inserted! Disconnecting and reconnecting using new SSH key...

然而,在CoreOS上,被替换的私钥在vagrant reload上丢失了,所以有助于删除机器私钥,e.i。

rm .vagrant/machines/core-01/virtualbox/private_key

答案 2 :(得分:0)

对我来说,这是通过更改vagrant home directort中的.ssh文件夹的权限(即“~vagrant / .ssh”)来解决的。我认为在为我的应用程序设置ssh密钥时,我搞砸了权限。

似乎'authorized_keys'文件必须仅为'vagrant'用户'rw',所以“chmod 600 authorized_keys”;目录本身及其父目录也是如此:

这样:

chmod 600 authorized_keys
chmod 700 .
chmod 700 ..

只有在我所有这些权限恢复后,流浪汉ssh才开始重新运作。

我认为这与ssh安全性有关。它拒绝识别证书,如果它们在当前用户之外可以访问,那么流浪者尝试登录就会被拒绝。