no about note

エンジニアのメモ書き

【Openstack】インスタンスOSにパスワードログインできるようする

Password

なにがうれしいのか

  • Openstackで利用するクラウド用イメージはデフォルトでパスワードログインができず、公開鍵認証でログインする必要がある
  • そこでパスワード認証ができるように設定する方法をいくつか紹介する

1. password_injectionを設定する

  • NovaおよびHorizonの設定変更により、インスタンス起動時にrootのパスワードを設定できる
  • 設定を有効にすると、インスタンスの/etc/shadowを書き換える

設定方法

local_settings.pyの設定

/etc/dashboard/local_settings.py

以下を追記

OPENSTACK_HYPERVISOR_FEATURES = {
...
    'can_set_password': False,
}

/etc/nova/nova.conf

以下を追記

[libvirt]
inject_password=true

Injecting the administrator password

2. Userdataをインスタンス起動時に流し込む

  • 以下を記述したファイルをnova boot --user-data で流し込む
  • centosの場合、パスワードがcentosでログインができるようになる
  • この方法でrootパスワードが設定できない
#cloud-config
password: centos
chpasswd: { expire: False }
ssh_pwauth: True
$ nova boot --flavor <flavor-name> --image <image-id> --security-groups default --nic net-id=<net-id> --userdata user-data.txt <instance-name>

# nova floating-ip-associate <instance-name> <floating-ip>

# ssh centos@<floating-ip>
centos@172.16.140.23's password:******

Horizonから設定する方法は以下:

noaboutsnote.hatenablog.com

その他の方法があれば追記していく

参考