web-dev-qa-db-ja.com

Ubuntuクラウドイメージにパスワードを設定するにはどうすればよいですか?

VirtualBoxで.ovaを開始しようとしていますが、後でvSphereに同じイメージをインポートします。

Ubuntuクラウドイメージには、標準のパスワードはありません。

.ovaを編集してパスワードを設定したいのですが。 (以降のSSHキー)

ダウンロードした.ovaにはパスワードプロパティがあります。

プロパティを編集するためのcot(一般的なOVFツール)というツールを見つけました。

私は試した:

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"

どちらも成功しませんでした。 (ログインできません)

この構成を画像に適用するステップはありますか、またはこれらのプロパティは開始時に画像に渡されますか?

何か案は?

更新:(背景の質問への回答)

  1. 最初のステップとして、ルートアクセスが必要なので、アダプター、ブリッジ、ルート、DNSのネットワーク設定をテストできます。
  2. SshキーとSudoを持つ新しいユーザーが2番目の目標です。
  3. Ubuntu 17.10(まもなく18.04)
  4. VirtualBox 5.2.14
  5. vSphere 5.5
5
Eddy Pronk

ご質問

次のような背景情報を質問に追加できると便利です。

  1. なぜrootパスワードを設定する必要があるのですか?多分別の方法があります。あなたは何を成し遂げようとしているのですか?
  2. (1)によると、推奨される方法は、いくつかのオプションの1つである可能性があります:パスワードを持つrootユーザー、sshキーを持つ新しいユーザー、およびSudoなど。
  3. あなたのホストオペレーティングシステムは何ですか?
  4. VirtualBoxバージョン?
  5. VMWare vsphereバージョン?

総合計画

  1. Virtualboxの正しい設定を行う
  2. ユーザーデータとメタデータファイルを作成する
  3. Cloud-initのISOイメージを生成します
  4. VMをアタッチされたISOイメージをリムーバブルデバイスとして起動します

Virtualbox

  1. OVAをアプライアンスとしてインポートし、IMGまたはVMDKディスクを使用できます。これは、GUIまたはコマンドラインで実行できます。
  2. VMのハードウェア設定でシリアルポートを有効にする必要があります。 オプションで、それを家のrawファイルにポイントすると、問題が発生したときにログを確認できます。
  3. Cloud-initのために以下で生成されたiso/imgが必要であり、VMインポートしたVMのDVDまたはCDデバイスにマウントします。VMがt DVD/CDデバイスを含めるには、デバイスを追加する必要があります。IDE and masterとして追加してから、以下で生成されたISOをロードします。

Cloud-Init

buntu Cloud Images を使用している場合は、初期構成を設定するために Cloud-Init を使用する必要があります。これにより、以下を設定できます。

  • デフォルトのロケール
  • ホスト名
  • SSH秘密鍵の生成と設定

...他の機能の中でも特に。

Cloud-initの動作は、インラインコマンドのuser-dataフラグを使用するか、適用する設定でYAMLタイプの構成ファイルを呼び出すことで構成できます。

これは、インラインで実行しているときに--user-dataまたは--user-data-file引数を介して行われるか、ISOを使用して行うことができます。 ISOマウントモードの手順を示します。

Rootまたはユーザーのパスワードは設定しません。代わりに、ssh公開鍵を介したSSHアクセスを持つ新しいユーザーを作成し、代わりにユーザーにSudo権限を許可します。

これはサンプルuser-datacloud-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を再構築する必要があります。

Boot

これでVMを起動できます。デフォルトでは、ユーザー名とパスワードを使用してマシンにSSH接続したり、VNCコンソール(「グラフィカル」VMウィンドウ))経由で接続したりすることはできません。公開/秘密鍵認証を使用する必要がありますsshを使用したメソッド。これは、user-dataYAMLファイルで公開sshキーを使用してユーザーを有効にすることを意味します。また、ubuntuアカウントのSudo権限の昇格はパスワードなしですが、アカウントはデフォルトでロックされています。

5
Leo

これが可能な解決策へのリンクです 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

上記のコマンドは、デフォルトユーザーubuntuのパスワードmypasswdを設定します。

4
batistuta09

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の例を説明します。 https://askubuntu.com/questions/281763/is-there-any-prebuilt-qemu-ubuntu-image32bit-online/1081171#1081171

お持ちのイメージにcloud-initがインストールされています。つまり、 NoCloud datasource を使用して、フロッピー(vfat)またはcd(ISO9660)イメージから構成をロードできます。そのイメージでは、 ssh keys を構成できるcloud-configファイルを作成できます

詳細については、次もお読みください: http://blog.klocwork.com/open-source/using-cloud-init-outside-of-the-cloud/

1

彼らのウェブによると、画像のパスワードはランダムに生成されます。

ユーザー名はubuntuになりますが、イメージは最初の起動時にランダムに生成されたパスワードを「吐き出し」ます。

"「ubuntu」のパスワードを取得してログインしますgrubメニューのデフォルトの選択により、最初の起動時に「ubuntu」ユーザーに対してランダムに生成されたパスワードが生成されます。パスワードは2箇所に書き込まれます、コンソール、およびシリアルデバイス。コンソールには、次のような行が表示されます。 "

このリンクを読んで、ステップ4:

https://help.ubuntu.com/community/UEC/Images

1
N1ckel0us

私の想定では、VMの起動時に、設定しているパスワードプロパティがリセットされます。これは、cloud-initがデフォルトでパスワード認証を無効にしているためです。イメージをマウントして構成することができます以下のようにcloud.cfg:

/etc/cloud/cloud.cfg

#cloud-config
password: mysecret
chpasswd: { expire: False }
ssh_pwauth: True

次のリンクに記載されているように、これはパスワード認証をアクティブにし、パスワードを設定するためのものです。

https://ask.openstack.org/en/question/5531/defining-default-user-password-for-ubuntu-cloud-image/

1
Diamond

OVAをインポートして、VM VBoxで起動し、パスワードを追加し、VMをOVAにエクスポートして、次に必要になったときにそれを使用します新しいVMを作成するには?

0
user5870571