解決策 1:
18.04 のセットアップ手順
つまり、必要なもの:
sudo apt-get install cloud-image-utils
cat >user-data <<EOF
#cloud-config
password: asdfqwer
chpasswd: { expire: False }
ssh_pwauth: True
EOF
cloud-localds user-data.img user-data
# user-data.img MUST come after the rootfs.
qemu-system-x86_64 \
-drive file=ubuntu-18.04-server-cloudimg-amd64.img,format=qcow2 \
-drive file=user-data.img,format=raw
...
これでログインできます:
- ユーザー名:
ubuntu
- パスワード:
asdfqwer
ここでは、完全に最小限の詳細な作業 QEMU の例について説明します。
解決策 2:
質問
以下のような背景情報を質問に追加できると便利です:
<オール>一般計画
<オール>バーチャルボックス
<オール>Cloud-Init
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
ファイルを作成したら、仮想マネージャーから cdrom または dvd としてロードする iso ファイルを生成します。
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
シード/nocloud iso をマウントしたままにしておくと、VM の設定がデータ ファイルの設定で上書きされることに注意してください。また、ユーザーデータまたはメタデータを変更した場合は、iso または img を再構築する必要があります。
ブート
これで VM を起動できます。デフォルトでは、ユーザー名とパスワードを使用してマシンに ssh したり、VNC コンソール (Virtualbox の「グラフィカルな」VM ウィンドウ) を介して接続したりすることはできません。 ssh で公開/秘密鍵認証方式を使用する必要があります。これは、user-data で公開 SSH キーを使用してユーザーを有効にすることを意味します YAML ファイル。また、ubuntu アカウントの sudo 権限昇格はパスワードレスですが、アカウントはデフォルトでロックされています。
解決策 3:
可能な解決策へのリンクは次のとおりです https://techglimpse.com/nova-boot-instance-with-password/
userdata.txt というファイルを作成します 以下の内容で:
#cloud-config
password: mypasswd
chpasswd: { expire: False }
ssh_pwauth: True
ここで、userdata.txt を渡します 以下に示すように、新しいインスタンスを作成する際に入力としてファイル:
#openstack server create --flavor m1.small --image Ubuntu-Trusty --key-name mykey --nic net-id=88536e89-12a9-41eb-8aed-57983ee299e8 --security-group default --user-data=userdata.txt my-ubuntu
上記のコマンドは、パスワード mypasswd を設定します デフォルトユーザー ubuntu の場合 .