VMを使用してクラウドインフラストラクチャを構築しようとしています
Openstackのマニュアルでは、 このリンク のイメージにはOpenstackがプリインストールされていることが記載されています。
trusty-server-cloudimg-AMD64-disk1.img
ファイルをダウンロードし、KVMを使用してロードしました。このイメージを使用して仮想マシンをインスタンス化しましたが、ログイン(コンソールを使用)またはsshできません。
そのOSのデフォルトのユーザー名とパスワードがわかりません。
また(別の質問)、2つの仮想マシンを使用してクラウドを構築したいのですが、同じイメージを使用できますか?
Ubuntuイメージのデフォルトのユーザー名はubuntu
です。
デフォルトのパスワードはありません。ユーザー名/パスワードを使用してマシンにSSH接続したり、VNCコンソールから接続したりすることはできません。 sshで公開/秘密キー認証方法を使用する必要があります。また、ubuntu
アカウントのSudo昇格はパスワードなしです。
仮想マシンに初めてアクセスした後、これらの設定を変更して、sshのユーザー名/パスワード認証を有効にできます。
2番目の質問については、
はい、複数の仮想マシンに同じイメージを使用できます。
これはどう:
$ virt-customize -a bionic-server-cloudimg-AMD64.img --root-password password:coolpass
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 \
-m 1G
...
そして今、あなたはでログインできます:
ubuntu
asdfqwer
ここでは、完全な最小限の詳細な作業QEMUの例を説明します: https://askubuntu.com/questions/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171#1081171
Ubuntu 18.04ホストでテスト済み。
@Athafoudの答えを補完するために、新しいUbuntuインスタンスに初めてログインする方法に関する詳細を以下に示します。
OpenStack GUIで、[プロジェクト]> [コンピューティング]> [アクセスとセキュリティ]で公開/秘密キーを管理します。 SSHキーを作成し(LinuxまたはmacOSでssh-keygen
を使用するなどして)、[Import Key Pair]をクリックしてOpenStackキーに追加します。 (または、OpenStack GUI内から「キーペアを作成」してから、ワークステーションにキーをエクスポートできます。)
新しいインスタンス(VM)を作成するとき、このキーを初めてログインするときに使用する「キーペア」として指定する必要があります。
新しいインスタンスが稼働したら、次のようにSSH経由で接続します。
ssh -i <keyfile> ubuntu@<instance>
ここで、<keyfile>
はインスタンスに関連付けたSSHキーの名前であり、<instance>
はインスタンスのホスト名またはIPアドレスです。このコマンドは、パスワードを要求せずにインスタンスのubuntu
アカウントにログインします。
ubuntu
ユーザーはSudo
特権を持っているので、ログイン後にSudo -i
と入力することでrootになり、必要に応じてVMを管理できます:- )。
次のコードを使用して、Ubuntu cloudimg
をDebian 7.2(wheezy)マシンで使用可能にすることができます。
apt-get install pwgen
apt-get install genisoimage
git clone -b master https://git.launchpad.net/cloud-utils
printf "#cloud-config\n" > user-data
printf "password: `pwgen 8 1`\nchpasswd: { expire: False }\nssh_pwauth: True\n" >> user-data
./cloud-utils/bin/cloud-localds user-data.img user-data
その後、 tmux
ウィンドウ内からこのようなイメージを開始して、ログアウトしても実行し続けるようにします:
kvm -m 2048 -smp 2 -hda ubuntu-18.10-server-cloudimg-AMD64.img -hdb user-data.img -net nic -Net User,hostfwd=tcp::1810-:22 -nographic
その後、ユーザーubuntu
としてマシンにログインし、user-data
ファイル内で生成されたパスワードを使用できます。ログインは、kvm
で印刷されたシリアルコンソール(通常、その上にssh接続がある場合でもかなり遅い)、またはssh ubuntu@localhost -p1810
でssh
を介して行うことができます。ユーザーubuntu
は、デフォルトでrootとしてパスワードなしのSudo
アクセスを取得します。
追伸ssh-authorized-keys
を追加して遊んでもみましたが、cloud-config
形式は非常に壊れやすいようです。トップレベルでは無視されますが、以下のusers:
レベルでは、ubuntu
ユーザー全体が(少なくともパスワードの部分)が壊れているようです。以下は、cloud-configで読み取り可能な形式にキーを取得するコードです。
printf "users:\n - name: ubuntu\n ssh-authorized-keys:\n" >> user-data
cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys | sed 's/^/ - /g' >> user-data
(password
は、users
ハッシュを持っているため、passwd
仕様の有効なフィールドではないようです。ユーザーubuntuがパスワードなしで作成されるため、全体が以前のコードを壊します。)