67c1086e2c2c84864164515395f4a849193b0ff5
- group 'sftpusers' (GID 200 or next free), sshd drop-in /etc/ssh/sshd_config.d/90-sshd-SFTP.conf (Match Group, ChrootDirectory %h, ForceCommand internal-sftp), PasswordAuthentication via 'sftp_password_authentication' - new sftp users (UID 201 or next free) with root owned chroot home, upload dir and root owned authorized_keys (always created) - existing users (e.g. www-data, suexec users) can be added to the group; chroot requirements of their home are checked, not changed - passwords: update_password defaults to 'always', password of users with shell access is never changed - controlled by 'chrooted_sftpd_present' (default: false), tag 'sftpd' - add empty sftpd section to all host_vars *-common.yml Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# ====================
# Encrypting content with Ansible Vault
# ====================
# see:
# https://docs.ansible.com/ansible/latest/vault_guide
#
# https://docs.ansible.com/ansible/latest/vault_guide/vault_encrypting_content.html
# ----------
# encrypt / decrypt variables / strings
# ---------
# encrypt string
#
string=nSLIgazSj8DLu2Sy0l
ansible-vault encrypt_string $string && echo
# output of the above command is:
#
!vault |
$ANSIBLE_VAULT;1.1;AES256
33656466386662303431383037386564666466643364376233623261346235363866656438396532
6161373832366430653235343034653166303561383934390a666432356463386461656363303234
61386330643664666539343336313666346261323435386264396137366533626539396434303463
3961666632646337360a666662323063316134623332333239616332343939326331383632646139
66316333653232383764376264616238323861323530343734653564393737386139
# decrypt the encrypted string:
#
echo -e '$ANSIBLE_VAULT;1.1;AES256
33656466386662303431383037386564666466643364376233623261346235363866656438396532
6161373832366430653235343034653166303561383934390a666432356463386461656363303234
61386330643664666539343336313666346261323435386264396137366533626539396434303463
3961666632646337360a666662323063316134623332333239616332343939326331383632646139
66316333653232383764376264616238323861323530343734653564393737386139' | ansible-vault decrypt && echo
# output shoud be:
#
Decryption successful
nSLIgazSj8DLu2Sy0l
# ----------
# encrypt / decrypt file
# ----------
ansible-vault encrypt <file-name>
ansible-vault decrypt <file-name>
Languages
Vim Script
73.1%
Shell
15.5%
Jinja
9%
Python
2.4%