Proxmox VE 설정 시 입력한 이메일을 셸에서 어떻게 얻나요?

Proxmox VE 설정 시 입력한 이메일을 셸에서 어떻게 얻나요?

Proxmox VE7 호스트에 로그인하면 설치 시 Proxmox를 설정할 때 입력한 이메일을 받고 싶습니다. 가능합니까?

아이디어는 certbot 초기화를 비대화식으로 자동화하는 것이며 스크립트에서 이메일을 다시 요청하는 것보다 이전에 자동으로 입력한 이메일을 사용하는 것이 좋습니다.

명확히 하기 위해 쉘 스크립트 내에서 여기에 입력한 이메일을 받고 싶습니다.

여기에 이미지 설명을 입력하세요

답변1

여기에서 설치 이메일 주소를 찾을 수 있을 것 같습니다.

cat /etc/pve/user.cfg

이메일 주소를 얻으려면:

EMAIL=`cat /etc/pve/user.cfg | awk '{split($0,a,":"); print a[7]}'`
echo $EMAIL
# [email protected]

PVE6 및 PVE7에서 테스트되었지만 사용자(루트)는 단 한 명뿐입니다.

GUI에서는 Datacenter / Permissions / Users에서 해당 사용자를 두 번 클릭하면 됩니다!

답변2

LE 인증서가 작동하는 다른 proxmox에서 "템플릿"( /etc/pve/priv/acme/default )을 /etc/pve/priv/acme/default로 복사하고 주문 인증서를 실행할 수 있습니다.

pvenode acme cert order

다음과 같은 메일을 만드는 것이 좋습니다.[이메일 보호됨]템플릿에 포함시키세요.

나는 이것을 ansible 역할로 사용하고 있습니다. 영감을 얻으세요 :D

##################
#LETS ENCRYPT CERT
##################

- name: Create empty file /etc/pve/priv/acme/default - workaround for action below
  file:
    path: /etc/pve/priv/acme/default
    owner: root
    group: www-data
    mode: '0600'
    state: touch
  become: true
  tags:
    - hypervizor_proxmox_letsencrypt

- name: Copy template of LE CERT account - default
  template:
    src: lets_encrypt/le_account_default.j2
    dest: /etc/pve/priv/acme/default
    owner: root
    group: www-data
    mode: '0600'
  become: true
  tags:
    - hypervizor_proxmox_letsencrypt

- name: Create LETS ENCRYPT cert
  block:
    - name : Create LETS ENCRYPT cert
      shell: pvenode config set --acme domains="$(hostname -f|tr -d [:space:])" && pvenode acme cert order
  rescue:
    - name: Create LETS ENCRYPT cert failed, trying to rescue probably too much retries
      shell: pvenode config set --acme domains="$(hostname -f|tr -d [:space:])" && pvenode acme cert order --force
      ignore_errors: yes
  tags:
    - hypervizor_proxmox_letsencrypt

관련 정보