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

Azure Linux VM の SSH 接続には鍵認証を使用します。

説明

linuxConfiguration.disablePasswordAuthentication が false だと、Azure Linux VM で SSH パスワード認証が許可されます。

想定される影響

SSH に到達できる攻撃者が、推測したパスワードや漏えいしたパスワードでログインを試みるおそれがあります。

対処方法

管理者の SSH 公開鍵を登録し、鍵で接続できることを確認してから disablePasswordAuthentication を true にしてください。秘密鍵を保護し、管理用の接続経路も制限してください。

例

この例は VM の osProfile に含める Linux 設定です。adminUsername と adminPublicKey には実際の管理者アカウントと SSH 公開鍵を指定してください。

変更前

bicep
linuxConfiguration: {
  disablePasswordAuthentication: false
}

変更後

bicep
linuxConfiguration: {
  disablePasswordAuthentication: true
  ssh: {
    publicKeys: [
      {
        path: '/home/${adminUsername}/.ssh/authorized_keys'
        keyData: adminPublicKey
      }
    ]
  }
}

参考資料