Ansible : Automatisches Registrieren der SSH Keys

Wir haben hier einige Adminstratoren die auf die erstellten Umgebungen Zugriff benötigen. Der Zugriff geschieht immer über einen SSH Key. Diese werden in unseren Ansible Script auf diese Weise registriert.

  - name: register default ssh admin keys
    authorized_key:
      user: admin
      state: present
      key: "{{ lookup('file', '{{ item }}') }}"
    with_fileglob:
      - "/ansible-deploy/global/ssh-keys/*.pub"

  - name: register admin-ssh-key for user app
    authorized_key:
      user: app
      state: present
      key: '{{ item }}'
    with_file:
      - "{{ admin_ssh_pub_file }}"

  - name: register default ssh app keys
    authorized_key:
      user: app
      state: present
      key: "{{ lookup('file', '{{ item }}') }}"
    with_fileglob:
      - '/ansible-deploy/global/ssh-keys/*.pub'

# allow developers to access servers 

  - name: register projekt-ssh keys for user app
    authorized_key:
      user: app
      state: present
      key: "{{ lookup('file', '{{ item }}') }}"
    with_fileglob:
      - '/ansible-deploy/customers/{{ customer }}/project_ssh_keys/*.pub'

# register key for user app to allow access between servers
# to generate a private key for this platform you can change into the project_ssh_keys directory and use
# ssh-keygen -t rsa -b 4096 -f ./id_rsa -P '' -C 'app-key' 

  - name: copy the app private key
    copy:
      owner: app
      group: app
      mode: 0600
      src: "/ansible-deploy/customers/{{ customer }}/project_ssh_keys/id_rsa"
      dest: "/home/app/.ssh/id_rsa"

Bash : Video aus Webcam Bildern erstellen

Da ich es einfacher finde für die Archivierung von Webcam Bildern Videos zu verwenden habe ich diese Script geschrieben. Die Webcam erstellt ein Bild wenn Sie Bewegung wahrnimmt. Diese werden von diesem Skript zu einen einzelnen Video vereint.
Ihr müsst nur die Variablen euren Gegebenheiten anpassen.
Variablen :
{FTP-USER} = der FTP Benutzer
{FTP-GROUP} = die FTP Gruppe
{QUELL-PFAD} = quelle der Snapshots
{ZIEL-PFAD} = wo soll das Video abgelegt werden ?
Script :
#!/bin/bash
#
# Konvertiert Einzelbilder zu Video mit ffmpeg
_src_folder={QUELL-PFAD}
_src_file_format=jpg
_tar_folder={ZIEL-PFAD}
_tar_file_format=mpg
_tar_file_name="video_$(date +%Y-%m-%d_%R)"
_temp_folder=$(mktemp -d)
_length=5
_cnt_files_in_src=$(ls -l ${_src_folder}/*.${_src_file_format} 2>/dev/null | wc -l)
_ftp_user={FTP-USER}
_ftp_group={FTP-GROUP}
_bin_ffmpeg=$(which ffmpeg)
_bin_chown=$(which chown)
_bin_rm=$(which rm)
_bin_find=$(which find)
# Bilder nach konvertieren löschen ?
DELFILESAFTERVIDEO=TRUE # TRUE OR FALSE
# setze symlinks in tempfolder
cnt=1
if [ ${_cnt_files_in_src} != "0" ]; then
        if [[ -d  "${_temp_folder}" && -d "${_src_folder}" ]]; then
                for i in ${_src_folder}/*.${_src_file_format};
                do
                        ln -s "${i}" "${_temp_folder}/$(printf %0${_length}d $cnt).jpg"
                        ((cnt++))
                done
                ${_bin_ffmpeg} -f image2 -i "${_temp_folder}/%0${_length}d.jpg" -r 25 -vcodec libx264 "${_tar_folder}/${_tar_file_name}.${_tar_file_format}" > /dev/null 2>&1
                ${_bin_rm} -rf "${_temp_folder}"
                ${_bin_chown} ${_ftp_user}:${_ftp_group} "${_tar_folder}/${_tar_file_name}.${_tar_file_format}"
                # löscht alle vorhanden bilder
                if [ ${DELFILESAFTERVIDEO} == "TRUE" ]; then
                ${_bin_find} ${_src_folder}/ -name "*.${_src_file_format}" -exec ${_bin_rm} {} \;
                fi
        else
                echo "ERROR : TEMP FOLDER OR SOURCE FOLDER DO NOT EXISTS"
                exit 99
        fi
else
                echo "found no files in source exit"
                exit 99
fi
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)