GNU/Linux >> Linux の 問題 >  >> Linux

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

解決策 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:

質問

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

<オール>
  • root パスワードを設定する必要があるのはなぜですか。別の方法があるかもしれません。何を達成しようとしていますか?
  • (1) によると、推奨される方法はいくつかのオプションの 1 つです:パスワードを使用する root ユーザー、ssh キーと sudo を使用する新しいユーザー、その他。)
  • ホスト オペレーティング システムは何ですか?
  • VirtualBox のバージョンは?
  • VMWare vSphere のバージョンは?
  • 一般計画

    <オール>
  • Virtualbox を正しく設定する
  • ユーザーデータとメタデータ ファイルを作成する
  • cloud-init の ISO イメージを生成する
  • 接続された ISO イメージをリムーバブル デバイスとして VM を起動します
  • バーチャルボックス

    <オール>
  • OVA をアプライアンスとしてインポートし、IMG または VMDK ディスクを使用できます。これは、GUI またはコマンド ラインで実行できます。
  • シリアル ポートを有効にする必要があります VM のハードウェア設定で。 オプション 、それを 生ファイル に向けます 自宅で、問題が発生した場合にログを確認できます。
  • cloud-init 用に以下で生成された iso/img が必要であり、インポートした VM の DVD または CD デバイスにマウントします。 VM に DVD/CD デバイスが含まれていない場合は、追加する必要があります。 IDE およびマスターとして追加し、以下で生成された ISO を読み込みます。
  • 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 の場合 .


    Linux
    1. Isoイメージに対してCdを検証する方法は?

    2. Ubuntu – Ubuntuで静的IPを設定する方法は?

    3. Ubuntu18.04でSSHキーを設定する方法

    1. Mutt:パスワードを安全に保存する方法は?

    2. Ubuntu20.04でUnboundDNSリゾルバーを設定する方法

    3. Ubuntu 18.08でApacheパスワード認証を設定するにはどうすればよいですか?

    1. IsoファイルからUbuntuをインストールする方法は?

    2. Ubuntu 22.04 に MySQL をインストールする方法

    3. 忘れたUbuntu 17.04ルートパスワードをリセットする方法?