Azure Linux VM で SSH パスワード認証を許可

Azure Linux VM では SSH キー認証を使用し、パスワードでのログインを制限します。

説明

Azure Linux VM で SSH のパスワードログインを許可すると、漏えいしたり推測されたりしたパスワードでアクセスされるおそれがあります。これは HTTP の Basic 認証ではなく、OS の SSH ログイン設定です。

想定される影響

SSH に接続できる攻撃者が有効なパスワードを入手すると、そのアカウントの権限で VM を操作できます。

対処方法

管理者アカウントに有効な SSH 公開鍵を登録し、ssh_password_enabled を無効にしてください。パスワードを無効にする前にキーで接続できることを確認し、秘密鍵も保護してください。

例

変更後の path は、VM 内の authorized_keys の場所です。ssh_public_key には実際の公開鍵の内容を指定してください。カスタムイメージとネットワークは別途用意する必要があります。

変更前

yaml
- name: Linux VM 생성
  azure.azcollection.azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: adminUser
    admin_password: "{{ vm_admin_password }}"
    image: customimage001
    os_type: Linux
  no_log: true

変更後

yaml
- name: Linux VM 생성
  azure.azcollection.azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: testvm001
    vm_size: Standard_DS1_v2
    admin_username: adminUser
    ssh_password_enabled: false
    ssh_public_keys:
      - path: /home/adminUser/.ssh/authorized_keys
        key_data: "{{ ssh_public_key }}"
    image: customimage001
    os_type: Linux

参考資料