Привет всем, у меня возникла проблема: наш центральный сервис аутентификации (FreeIPA) использует достаточно большие UID/GID (диапазон от 1546400000 до 1546600000), и не привилегированные контейнеры, похоже, не могут с этим справиться. Чтобы это заработало, кажется, нужно вручную изменить две вещи для каждого хоста Proxmox и, что еще менее удобно, для каждого контейнера после его создания: На хосте: Согласовать /etc/subgid и /etc/subuid, чтобы в целом разрешить диапазоны на этом хосте. Для каждого контейнера: Добавить значения lxc.idmap в файл конфигурации контейнера после его создания (например, /etc/pve/lxc/109.conf). Я знаком с и ; но это "только" привело меня к следующей ручной (но рабочей) конфигурации: На хосте Proxmox я изменил /etc/subgid и /etc/subuid, чтобы оба содержали следующее: Код: root:100000:65536
root:1546400000:200000 Конфигурацию контейнера я изменил так, чтобы она содержала следующее: Код: ...
ostype: debian
...
unprivileged: 1
lxc.idmap: u 1546400000 1546400000 200000
lxc.idmap: g 1546400000 1546400000 200000
lxc.idmap: u 0 100000 65536
lxc.idmap: g 0 100000 65536 До моих изменений я даже не мог войти по SSH, используя один из этих высоких ID: Код: Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: matching key found: RSA SHA256:P+Wm...
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Jul 14 15:16:38 idtestlxc sshd[332]: Accepted key RSA SHA256:P+Wm... found at /usr/bin/sss_ssh_authorizedkeys:1
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
Jul 14 15:16:38 idtestlxc sshd[332]: Postponed publickey for m.richter from 2a02:... port 57073 ssh2 [preauth]
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: userauth-request for user m.richter service ssh-connection method publickey [preauth]
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: attempt 2 failures 0 [preauth]
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: matching key found: RSA SHA256:P+Wm...
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Jul 14 15:16:38 idtestlxc sshd[332]: Accepted key RSA SHA256:P+Wm... found at /usr/bin/sss_ssh_authorizedkeys:1
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: auth_activate_options: setting new authentication options
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: do_pam_account: called
Jul 14 15:16:38 idtestlxc sshd[332]: Accepted publickey for m.richter from 2a02:... port 57073 ssh2: RSA SHA256:P+Wm...
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: monitor_child_preauth: m.richter has been authenticated by privileged process
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: auth_activate_options: setting new authentication options [preauth]
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: monitor_read_log: child log fd closed
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 1546500000/1546500000 (e=0/0)
Jul 14 15:16:38 idtestlxc sshd[332]: fatal: initgroups: m.richter: Invalid argument
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: do_cleanup После этих изменений все работает без проблем: Код: Jul 14 16:27:39 idtestlxc sshd[263]: debug1: restore_uid: 0/0
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: matching key found: RSA SHA256:P+Wm...
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Jul 14 16:27:39 idtestlxc sshd[263]: Accepted key RSA SHA256:P+Wm... found at /usr/bin/sss_ssh_authorizedkeys:1
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: restore_uid: 0/0
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: auth_activate_options: setting new authentication options
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: do_pam_account: called
Jul 14 16:27:39 idtestlxc sshd[263]: Accepted publickey for m.richter from 2a02:... port 62995 ssh2: RSA SHA256:P+Wm...
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: monitor_child_preauth: m.richter has been authenticated by privileged process
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: auth_activate_options: setting new authentication options [preauth]
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: monitor_read_log: child log fd closed
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: temporarily_use_uid: 1546500000/1546500000 (e=0/0)
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: ssh_gssapi_storecreds: Not a GSSAPI mechanism
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: restore_uid: 0/0
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: PAM: establishing credentials
Jul 14 16:27:39 idtestlxc sshd[263]: pam_unix(sshd:session): session opened for user m.richter by (uid=0)
Jul 14 16:27:39 idtestlxc sshd[263]: User child is on pid 273
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: SELinux support disabled
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: PAM: establishing credentials
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: permanently_set_uid: 1546500000/1546500000
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: rekey after 134217728 blocks
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: rekey after 134217728 blocks
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: ssh_packet_set_postauth: called
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: active: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: Entering interactive session for SSH2.
...
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: Allocating pty.
...
Jul 14 16:27:39 idtestlxc sshd[273]: Starting session: shell on pts/2 for m.richter from 2a02:... port 62995 id 0
... Так что, в целом, я понимаю, что нужно делать, чтобы это заработало. Но это очень странный и затрудняющий рабочий процесс — сначала создавать контейнеры с помощью всего нашего сценарного и развертывательного инструментария, а затем останавливаться, чтобы делать эти изменения в командной строке на хосте Proxmox после входа по SSH и продолжать развертывание только после этого... Разве нет лучшего способа? Я ожидал, что достаточно будет просто увеличить эти значения в /etc/subgid и /etc/subuid или что-то подобное на каждом хосте Proxmox, или установить значение по умолчанию для не привилегированных контейнеров, чтобы впоследствии можно было использовать его снова "как обычно". Спасибо за внимание! Жду ваших предложений.
root:1546400000:200000 Конфигурацию контейнера я изменил так, чтобы она содержала следующее: Код: ...
ostype: debian
...
unprivileged: 1
lxc.idmap: u 1546400000 1546400000 200000
lxc.idmap: g 1546400000 1546400000 200000
lxc.idmap: u 0 100000 65536
lxc.idmap: g 0 100000 65536 До моих изменений я даже не мог войти по SSH, используя один из этих высоких ID: Код: Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: matching key found: RSA SHA256:P+Wm...
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Jul 14 15:16:38 idtestlxc sshd[332]: Accepted key RSA SHA256:P+Wm... found at /usr/bin/sss_ssh_authorizedkeys:1
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
Jul 14 15:16:38 idtestlxc sshd[332]: Postponed publickey for m.richter from 2a02:... port 57073 ssh2 [preauth]
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: userauth-request for user m.richter service ssh-connection method publickey [preauth]
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: attempt 2 failures 0 [preauth]
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: matching key found: RSA SHA256:P+Wm...
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Jul 14 15:16:38 idtestlxc sshd[332]: Accepted key RSA SHA256:P+Wm... found at /usr/bin/sss_ssh_authorizedkeys:1
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: restore_uid: 0/0
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: auth_activate_options: setting new authentication options
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: do_pam_account: called
Jul 14 15:16:38 idtestlxc sshd[332]: Accepted publickey for m.richter from 2a02:... port 57073 ssh2: RSA SHA256:P+Wm...
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: monitor_child_preauth: m.richter has been authenticated by privileged process
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: auth_activate_options: setting new authentication options [preauth]
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: monitor_read_log: child log fd closed
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: temporarily_use_uid: 1546500000/1546500000 (e=0/0)
Jul 14 15:16:38 idtestlxc sshd[332]: fatal: initgroups: m.richter: Invalid argument
Jul 14 15:16:38 idtestlxc sshd[332]: debug1: do_cleanup После этих изменений все работает без проблем: Код: Jul 14 16:27:39 idtestlxc sshd[263]: debug1: restore_uid: 0/0
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: temporarily_use_uid: 65534/65534 (e=0/0)
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: matching key found: RSA SHA256:P+Wm...
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: /usr/bin/sss_ssh_authorizedkeys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Jul 14 16:27:39 idtestlxc sshd[263]: Accepted key RSA SHA256:P+Wm... found at /usr/bin/sss_ssh_authorizedkeys:1
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: restore_uid: 0/0
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: auth_activate_options: setting new authentication options
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: do_pam_account: called
Jul 14 16:27:39 idtestlxc sshd[263]: Accepted publickey for m.richter from 2a02:... port 62995 ssh2: RSA SHA256:P+Wm...
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: monitor_child_preauth: m.richter has been authenticated by privileged process
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: auth_activate_options: setting new authentication options [preauth]
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: monitor_read_log: child log fd closed
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: temporarily_use_uid: 1546500000/1546500000 (e=0/0)
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: ssh_gssapi_storecreds: Not a GSSAPI mechanism
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: restore_uid: 0/0
Jul 14 16:27:39 idtestlxc sshd[263]: debug1: PAM: establishing credentials
Jul 14 16:27:39 idtestlxc sshd[263]: pam_unix(sshd:session): session opened for user m.richter by (uid=0)
Jul 14 16:27:39 idtestlxc sshd[263]: User child is on pid 273
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: SELinux support disabled
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: PAM: establishing credentials
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: permanently_set_uid: 1546500000/1546500000
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: rekey after 134217728 blocks
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: rekey after 134217728 blocks
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: ssh_packet_set_postauth: called
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: active: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: Entering interactive session for SSH2.
...
Jul 14 16:27:39 idtestlxc sshd[273]: debug1: Allocating pty.
...
Jul 14 16:27:39 idtestlxc sshd[273]: Starting session: shell on pts/2 for m.richter from 2a02:... port 62995 id 0
... Так что, в целом, я понимаю, что нужно делать, чтобы это заработало. Но это очень странный и затрудняющий рабочий процесс — сначала создавать контейнеры с помощью всего нашего сценарного и развертывательного инструментария, а затем останавливаться, чтобы делать эти изменения в командной строке на хосте Proxmox после входа по SSH и продолжать развертывание только после этого... Разве нет лучшего способа? Я ожидал, что достаточно будет просто увеличить эти значения в /etc/subgid и /etc/subuid или что-то подобное на каждом хосте Proxmox, или установить значение по умолчанию для не привилегированных контейнеров, чтобы впоследствии можно было использовать его снова "как обычно". Спасибо за внимание! Жду ваших предложений.
