# Panduan Lengkap: Deploy Keycloak di Proxmox LXC dan Setup SSO (OpenID Connect)

- Link: https://www.anasfalahuddin.my.id/panduan-lengkap-deploy-keycloak-di-proxmox-lxc-dan-setup-sso-openid-connect/
- Published: 2026-08-11T18:23:35+07:00
- Author: Anas Falahuddin

proxmox sso

Bagi kita yang sehari-hari mengelola infrastruktur server, sistem operasi, dan perangkat
jaringan, manajemen akses sering kali menjadi tantangan tersendiri. Mengandalkan
akun lokal (seperti `pam` atau `pve` di Proxmox) untuk setiap layanan tidak hanya
merepotkan, tetapi juga menjadi celah keamanan jika infrastruktur sudah berskala
besar [cite: 1.1.2].

Solusinya? Sentralisasi otentikasi menggunakan **Single Sign-On (SSO)**.

Pada artikel kali ini, kita akan membahas cara praktis melakukan deploy **Keycloak**
di atas Proxmox menggunakan Linux Container (LXC), lalu menghubungkan Proxmox VE
ke Keycloak menggunakan protokol OpenID Connect (OIDC).^()

## Tahap 1: Deploy Keycloak Menggunakan Proxmox LXC

![](https://www.anasfalahuddin.my.id/wp-content/uploads/2026/08/keycloack-proxmox-
1-1024x559.png)

Untuk mempermudah dan mempercepat proses instalasi Keycloak, kita akan menggunakan
_helper script_ dari [Community Scripts](https://community-scripts.org/scripts/keycloak).
Script ini secara otomatis akan membuatkan LXC, menginstal dependensi (seperti Java/
PostgreSQL), dan menjalankan Keycloak.

 1. Buka Proxmox Web GUI, pilih node server kamu, dan buka **Shell**.
 2. Jalankan perintah instalasi dari repositori _community scripts_. (Pastikan kamu
    memeriksa dokumentasi di web mereka untuk _command_ paling _up-to-date_).
 3.  * bash -c “$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/
       main/ct/keycloak.sh)”
 4. Ikuti instruksi interaktif di layar. Kamu bisa memilih pengaturan _default_ atau
    _advanced_ jika ingin menyesuaikan alokasi RAM, CPU, dan IP Statis.
 5. Setelah instalasi selesai, script akan menampilkan URL, _Username_, dan _Password_
    default untuk login ke Keycloak Admin Console.
 6. Akses URL tersebut melalui _browser_ (biasanya berjalan di port `8080` atau `8443`).

## Tahap 2: Konfigurasi Keycloak untuk Proxmox (Realm & Client)^()

![](https://www.anasfalahuddin.my.id/wp-content/uploads/2026/08/2-1024x559.png)

Setelah berhasil masuk ke Keycloak Admin Console, kita perlu membuat Realm dan Client
khusus untuk Proxmox.

### 1. Membuat Realm^()

Di pojok kiri atas Keycloak, klik panah _dropdown_ dan pilih **Create Realm** [cite:
1.2.1].

 * Beri nama misalnya: `Proxmox-SSO`
 * Pastikan realm dalam status **Enabled**.

### 2. Membuat OIDC Client^()

Masuk ke menu **Clients** di panel kiri, lalu klik **Create client** [cite: 1.2.1]:

 * **Client Type:** OpenID Connect [cite: 1.2.1]
 * **Client ID:** `proxmox-pve` (Simpan ID ini, kita akan membutuhkannya nanti) [
   cite: 1.1.2]
 * Klik Next.

Pada menu **Capability config**:^()

 * Aktifkan **Client authentication: ON** (Ini wajib agar Keycloak men-generate 
   _Client Secret_) [cite: 1.2.1].
 * Aktifkan **Authorization: ON** [cite: 1.2.1].
 * Klik Next.

Pada menu **Login settings**:^()

 * **Root URL & Home URL:** Masukkan URL Proxmox kamu, misalnya `[https://proxmox.
   domain.local:8006/](https://proxmox.domain.local:8006/)` [cite: 1.2.1].
 * **Valid Redirect URIs:** **(PERHATIAN – Jebakan Konfigurasi)** Proxmox akan menambahkan
   _callback path_ internal saat proses otentikasi [cite: 1.1.2]. Kamu **wajib**
   menambahkan _wildcard_ `/*` di akhir URL, contohnya: `[https://proxmox.domain.
   local:8006/](https://proxmox.domain.local:8006/)*` [cite: 1.1.2].
 * Klik Save.

### 3. Mengambil Client Secret^()

Setelah Client tersimpan, buka tab **Credentials** di dalam pengaturan Client tersebut,
dan _copy_ nilai dari **Client Secret** [cite: 1.1.2].^()

### 4. Membuat User (Opsional untuk Testing)

Masuk ke menu **Users**, klik **Add user**, buat _username_ (misal: `admin-sso`),
lalu di tab **Credentials**, set _password_ dan matikan _toggle_ **Temporary** [
cite: 1.1.2].

## Tahap 3: Konfigurasi Proxmox VE (Integrasi OIDC)^()

![](https://www.anasfalahuddin.my.id/wp-content/uploads/2026/08/3-1024x559.png)

Sekarang saatnya memberi tahu Proxmox agar mempercayai Keycloak sebagai _Identity
Provider_.

> **Tips Sertifikat:** Jika Keycloak kamu menggunakan sertifikat SSL _Self-Signed_,
> Proxmox (yang berbasis Debian) akan menolak koneksi (HTTP 500 Error) [cite: 1.2.1].
> Solusinya, _copy_ file sertifikat CA Keycloak ke `/usr/share/ca-certificates/`
> di node Proxmox, ubah ekstensinya menjadi `.crt`, dan jalankan perintah `update-
> ca-certificates` di terminal Proxmox [cite: 1.2.1].

Langkah integrasi via Proxmox Web GUI:^()

 1. Buka **Datacenter** -> **Permissions** -> **Realms** [cite: 1.1.2].
 2. Klik **Add** -> **OpenID Connect Server** [cite: 1.1.2].
 3. Isi parameter berikut:
 4.  * **Realm:** `Keycloak-OIDC` (Nama realm lokal di Proxmox) [cite: 1.1.2]
     * **Issuer URL:** `https://<ip-atau-domain-keycloak>/realms/Proxmox-SSO` _(Catatan:
       Keycloak versi baru tidak lagi menggunakan tambahan `/auth/` di dalam URL)_ [
       cite: 1.2.1].
     * **Client ID:** `proxmox-pve` (Sesuai tahap 2) [cite: 1.1.2]
     * **Client Key:** _(Paste Client Secret dari Tahap 2)_ [cite: 1.1.2]
     * **Username Claim:** `preferred_username` [cite: 1.1.2]
     * **Autocreate Users:** Centang/Aktifkan. (Ini penting agar Proxmox otomatis membuat
       entri _user_ di _database_ miliknya saat _user_ pertama kali login via SSO) [
       cite: 1.1.2; 1.2.1].
 5. Simpan konfigurasi.

## Tahap 4: Role-Based Access Control (RBAC) & Akses Login

Meskipun _user_ dari Keycloak sekarang bisa login ke Proxmox, secara default mereka**
tidak akan melihat apa-apa** (halaman kosong) karena belum memiliki izin.^()

Ada dua cara untuk menangani ini: _First-Login Flow_ atau _Pre-Provisioning_ [cite:
1.1.2]. Cara termudah jika menggunakan _autocreate_:

 1. _Logout_ dari Proxmox.
 2. Di halaman login Proxmox, ganti kolom **Realm** dari `Linux PAM` ke `Keycloak-OIDC`.
 3. Klik Login, kamu akan diarahkan ke halaman login Keycloak. Masukkan _username_ 
    dan _password_ yang dibuat di Tahap 2.
 4. Kamu akan diarahkan kembali ke Proxmox (layar masih akan kosong).
 5. Buka tab baru, login kembali sebagai `root@pam` (administrator).
 6. Buka **Datacenter** -> **Permissions** -> **Users**. Kamu akan melihat akun SSO
    kamu sudah terdaftar.
 7. Buka **Datacenter** -> **Permissions**, klik **Add** -> **User Permission**, pilih
    akun SSO kamu, pilih _Path_ `/` (seluruh sistem), dan tetapkan peran (Role) sebagai**
    Administrator** (atau PVEAdmin).

Atau, kamu bisa menggunakan CLI Proxmox untuk membuat grup admin dan memodifikasi
Access Control List (ACL) [cite: 1.2.1]:

Bash

    ```wp-block-code
    pveum group add sso-admin -comment "Keycloak SSO Admins"
    pveum acl modify / -group sso-admin -role Administrator
    pveum user modify nama.user@Keycloak-OIDC -group sso-admin
    ```

## Kesimpulan

Selamat! Infrastruktur Proxmox VE kamu kini telah diamankan menggunakan SSO skala
_enterprise_.^() Dengan memisahkan _Identity Provider_ menggunakan Keycloak, kamu
bisa mengelola hak akses secara terpusat, mengaktifkan fitur seperti 2FA/MFA, hingga
dengan mudah mencabut akses _user_ dari satu _dashboard_ kontrol.^()

### _Related_
