握手失败:ssh:无法进行身份验证,尝试方法[无密码键盘交互],不支持任何方法

问题描述 投票:0回答:1

这个问题中的问题类似于SSH failed when building RancherOS with Packer

但是,我的Packer的行为是不同的。我明白了

==> virtualbox-iso: Error waiting for SSH: ssh: handshake failed: ssh:
unable to authenticate, attempted methods [none password keyboard-
interactive], no supported methods remain

我不确定为什么Packer无法进入虚拟机。我可以看到VirtualBox Console Screen位于登录输入上。然后它超时并被包装工的进程丢弃。

packer.json

{
 "variables": {
  "ros_version" : "v1.1.4",
  "iso_md5" : "b1f395a86c7c040702ec77fe87abb2e2",
  "vm_name" : "rancher_image"
  },
  "builders": [
  {
      "type": "virtualbox-iso",
      "iso_url": "https://releases.rancher.com/os/{{ user `ros_version` }}/rancheros.iso",
      "guest_os_type": "Linux_64",
      "guest_additions_mode": "disable",
      "iso_checksum_type": "md5",
      "iso_checksum": "{{ user `iso_md5` }}",
      "output_directory": "output_rancheros",
      "ssh_wait_timeout": "120s",
      "shutdown_command": "sudo shutdown -h now",
      "disk_size": 8000,
      "ssh_username": "rancher",
      "ssh_password": "rancher",
      "headless" : false,
      "ssh_port": 22,
      "ssh_host_port_min": 2222,
      "ssh_host_port_max": 4444,
      "ssh_skip_nat_mapping": true,
      "vm_name": "{{ user `vm_name` }}",
      "boot_wait": "30s",
      "vboxmanage":[
        ["modifyvm", "{{.Name}}", "--memory","4096"]
      ]
  }
],
"provisioners": [
  {
      "type":"file",
      "source": "cloud-config.yml",
      "destination": "/tmp/cloud-config.yml"
  },
  {
      "type": "shell",
      "inline": [
          "ifconfig",
          "sudo ros install -d /dev/sda -f -c /tmp/cloud-config.yml -i rancher/os:{{ user `ros_version` }} --no-reboot"
      ]
   }
 ]
}

云config.yml

#cloud-config
rancher:
  ssh_authorized_keys:
    - ssh-rsa AAA ... some VALID RSA [email protected]
  network:
  interfaces:
    eth0:
      dhcp: true
    dns:
      nameservers:
        -8.8.8.8
        -8.8.4.4

编辑:在构建器中添加了这些行,并从供应商中删除了它们的等价物。这仍然无法解决我想要的其他步骤,但至少上传了cloud-config并且可以完成配置。

      "http_directory":"http",
      "boot_command":[
          "<esc><esc><enter><wait>",
          "wget http://{{ .HTTPIP }}:{{ .HTTPPort }}/cloud-config.yml <enter>",
          "sudo ros install -d /dev/sda -f -c cloud-config.yml -i rancher/os:{{ user `ros_version` }}",
          "<enter>"],
virtualbox packer rancher
1个回答
1
投票

RancherOS默认情况下没有启用ssh密码。见issue #1467

© www.soinside.com 2019 - 2024. All rights reserved.