Ubuntu云图像不再具有标准密码.
我想编辑.ova来配置密码. (以及后来的SSH密钥)
下载的.ova确实有密码属性.
我找到了一个名为cot(Common OVF tool)的工具来编辑属性.
我试过了:
cot edit-properties ubuntu-18.04-server-cloudimg-amd64-custom.ova -p password=ubuntu
还尝试过:
cot edit-properties ubuntu-18.04-server-cloudimg-amd64-custom.ova -p user-data="password: ubuntu"
两次尝试都没有成功. (无法登入)
是否有步骤将此配置应用于图像,或者这些属性是否在启动时传递给图像?
有任何想法吗?
更新:(答案背景问题)
>作为第一步,我想要root访问权限,因此我可以测试适配器,网桥,路由,DNS的网络设置.
>使用ssh密钥和sudo的新用户是第二个目标.
> Ubuntu 17.10(即将于18.04)
> VirtualBox 5.2.14
> vSphere 5.5
解决方法
如果您可以在问题中添加背景信息,将会很有用,例如:
>为什么需要设置root密码.也许还有另一种方式.你想达到什么目的?
>根据(1),推荐的方式可能是以下几个选项之一:root用户使用密码,新用户使用ssh密钥和sudo,其他.)
>你的主机操作系统是什么?
> VirtualBox版本?
> VMWare vsphere版本?
总体规划
>为VirtualBox设置正确的设置
>创建用户数据和元数据文件
>为cloud-init生成ISO映像
>使用附加的ISO映像作为可移动设备引导VM
VirtualBox的
>您可以将OVA导入设备,使用IMG或VMDK磁盘.您可以在GUI或命令行中执行此操作.
>您应该在VM的硬件设置中启用串行端口. (可选)将其指向家中的原始文件,以便在出现问题时可以查看日志.
>您需要为cloud-init生成下面的iso / img,并将其安装在您导入的VM的dvd或cd设备中.如果VM不包含DVD / CD设备,则必须添加一个.将其添加为IDE和master,然后加载下面生成的ISO.
云初始化
如果您使用的是Ubuntu Cloud Images,则应使用Cloud-Init设置初始配置,它允许您设置:
>默认语言环境
>主机名
>生成和设置SSH私钥
……以及其他功能.
可以通过内联命令的用户数据标志配置Cloud-init的行为,或者使用要应用的设置调用YAML类型的配置文件.
当您以内联方式运行时,可以通过–user-data或–user-data-file参数完成此操作,或者可以使用ISO执行此操作.我将展示ISO挂载模式的步骤.
我不会为root或用户设置密码,而是通过ssh公钥创建具有SSH访问权限的新用户,并允许用户使用sudo权限.
这是一个示例用户数据cloud-config文件,使用您的文本编辑器创建它,并尊重名称或种子文件将不是有效的种子,将无法工作.
#cloud-config users: - default - name: eddypronk ssh-authorized-keys: - <your user public key here> sudo: ALL=(ALL) NOPASSWD:ALL groups: sudo shell: /bin/bash
您还可以拥有主机名和其他定义的元数据:
instance-id: set-an-unique-instance-name-id local-hostname: set-the-hostname
创建文件后,生成一个iso文件,从虚拟管理器加载为cdrom或dvd:
genisoimage -output nocloud.iso -volid cidata -joliet -rock user-data Meta-data
您需要genisoimage或cloud-utils工具cloud-localds用于此其他选项:
cloud-localds my-seed.img my-user-data my-Meta-data
请记住,如果您将seed / nocloud iso挂起,它将使用数据文件中的设置覆盖VM中的设置.如果您更改用户数据或元数据中的任何内容,则需要重建iso或img.
靴
您现在可以启动VM.默认情况下,您无法使用用户名和密码ssh到计算机或通过VNC控制台(VirtualBox中的“图形”VM窗口)连接.您必须使用ssh的公钥/私钥认证方法.这意味着在用户数据YAML文件中启用具有公共ssh密钥的用户.此外,ubuntu帐户的sudo权限提升是无密码的,但默认情况下该帐户已被锁定.