You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix stale llng-* references in docker-demo-cert walkthrough
The manual enrollment tutorial in docker-demo-cert/README.md carried
leftover names from the llng-pam-module → open-bastion rename, which
made the copy-paste instructions unusable (wrong container names, wrong
config paths, a script 'llng-pam-enroll' that doesn't exist anymore).
- Container names: llng-sso/llng-bastion/llng-backend-new → ob-cert-*
- Docker network: llng-net → ob-cert-net
- Config paths:
- /etc/security/pam_llng.conf → /etc/open-bastion/openbastion.conf
- /etc/security/pam_llng.token → /etc/open-bastion/token
- /etc/nss_llng.conf → /etc/open-bastion/nss_openbastion.conf
- /var/cache/pam_llng → /var/cache/open-bastion
- /var/lib/llng-sessions → /var/lib/open-bastion/sessions
- NSS source: 'files llng' → 'files openbastion'
- PAM module: pam_llng.so → pam_openbastion.so
- Scripts: llng-pam-enroll → ob-enroll, llng-ssh-proxy → ob-ssh-proxy,
llng-session-recorder → ob-session-recorder
- Portal internal URL in 'docker exec' commands: http://sso → http://sso:8080
- Update the ob-enroll summary/options to match the actual script flags
The user-facing llng CLI tool and ~/.cache/llng-cookies paths are left
as is: those belong to the separate lemonldap-ng 'llng' helper, not to
Open Bastion.
Note: The user `dwho` is resolved dynamically via the NSS module - no local account exists on the server. The home directory is created automatically on first login by `pam_mkhomedir`.
347
347
348
-
### Summary: The llng-pam-enroll Script
348
+
### Summary: The ob-enroll Script
349
349
350
-
The `llng-pam-enroll` script automates the entire Device Authorization flow:
350
+
The `ob-enroll` script automates the entire Device Authorization flow:
351
351
352
-
1.**Reads configuration** from `/etc/security/pam_llng.conf` (portal URL, client credentials)
352
+
1.**Reads configuration** from `/etc/open-bastion/openbastion.conf` (portal URL, client credentials)
353
353
2.**Requests device code** from `/oauth2/device` endpoint
354
354
3.**Displays instructions** with user code for administrator approval
355
355
4.**Polls for token** at configurable intervals
356
-
5.**Saves token** securely to `/etc/security/pam_llng.token`
357
-
6.**Updates configuration** with `server_token_file` directive
358
-
7.**Verifies enrollment** by calling `/pam/authorize`
356
+
5.**Saves token** securely to `/etc/open-bastion/token`
357
+
6.**Verifies enrollment** by calling `/pam/authorize`
359
358
360
359
Options:
361
360
362
361
```bash
363
-
llng-pam-enroll --help
362
+
ob-enroll --help
364
363
365
364
Options:
366
365
-p, --portal URL LemonLDAP::NG portal URL
367
366
-c, --client-id ID OIDC client ID (default: pam-access)
368
-
-s, --client-secret S OIDC client secret
367
+
-s, --client-secret S OIDC client secret (prefer OB_CLIENT_SECRET env var)
369
368
-g, --server-group G Server group name
370
-
-t, --token-file FILE Where to save the token
369
+
-t, --token-file FILE Where to save the token (default: /etc/open-bastion/token)
370
+
-C, --config FILE Read settings from config file
371
371
-k, --insecure Skip SSL certificate verification
372
372
-q, --quiet Quiet mode
373
373
```
374
374
375
375
### How it works
376
376
377
-
1.**Server Token**: Each SSH server needs an OAuth2 access token to authenticate its PAM module requests to the LLNG portal.
377
+
1.**Server Token**: Each SSH server needs an OAuth2 access token to authenticate
378
+
its PAM module requests to the LLNG portal.
378
379
379
-
2.**Token Configuration**: The token is passed via the `LLNG_SERVER_TOKEN` environment variable and stored in `/etc/security/llng_server_token`.
380
+
2.**Token Configuration**: The token is stored in `/etc/open-bastion/token` and
381
+
referenced by `server_token_file` in `/etc/open-bastion/openbastion.conf`.
0 commit comments