Ansible : auflisten der remote folder

Hier werden alle remote Ordner aufgelistet unter dem vorgegeben Remote Pfad {{ dst_path }}
    - name: get directories
      shell: ls -1 "{{ dst_path }}"
      register: folders_test
anzeigen der ermittelten Ordner
    - name: show directories
      debug:
        msg: "Folder {{ item }}"
      with_items: "{{ folders_test.stdout_lines }}"

Wireshark : Netzwerkanalyse - Capture Remote Host (Windows)

Man möchte von einem Windows System aus den Netzwerkverkehr auf einem Router der unter Linux läuft analysieren.
Hier hab ich ja beschrieben wie das unter Linux geht, nun hier auch die Version für Windows ;-)
Erstmal muss Wireshark installiert werden, wichtig ist das hier SSHDump mit installiert wird, das ermöglich den Weg den ich hier beschreibe. Das kann während der Installation im Bereich Tools aktiviert werden.

SSHDump Wireshark
Dann starten wir Wireshark und wählen SSH remote capture nachdem wir die Einstellungen vorgenommen haben wird mitgeschnitten.

Wireshark SSH remote capture
Wireshark SSH remote capture configuration
Natürlich muss auch hier tcpdump auf dem Remote System vorhanden sein.

Wireshark : Netzwerkanalyse - Capture Remote Host (*Ubuntu)

Ich habe hier einen kleinen Server am laufen der mir als Gateway dient. Dieser läuft ohne GUI und ein tcpdump ist nicht so schön zu lesen wie der Output von Wireshark. Da ich aber keine GUI installieren wollte der Weg über remote Wireshark ;-)

Wenn noch nicht passiert installieren wir erstmal Wireshark
sudo apt install wireshark
jetzt erstellen wir eine PIPE auf der Kiste auf der Wireshark läuft
mkfifo /tmp/remote-wire
dann können wir auch schon Wireshark starten
wireshark -k -i /tmp/remote-wire
# Erklärung Parameter
# -k starte sofort das capturing
# -i definiert das interface hier ist es die PIPE
jetzt noch eine ssh Verbindung aufbauen und alles in die PIPE leiten
ssh root@GATEWAY-IP "tcpdump -s 0 -U -n -w - -i ens9 not port 22" > /tmp/remote-wire
ens9 ist bei mir die Netzwerkkarte ins Internet.

Auf dem Remote System muss natürlich tcpdump installiert sein.
apt install tcpdump
In meinem Beispiel muss root der ssh Zugang erlaubt werden. Das kann in der Datei /etc/ssh/sshd_config erledigt werden. Dort den Parameter PermitRootLogin auf yes setzen.
PermitRootLogin yes
Der Parameter PermitRootLogin yes sollte nur auf Testsystemen aktiviert sein für einen produktiven Einsatz sollte das NICHT gesetzt werden

Git : User / Passwortabfrage bei git push

Bei dem Versuch ein git push zu machen erfolgt eine Abfrage nach Passwort & User. Der Hash des SSH Keys war aber sauber im Server registriert. Mit dem Befehl git remote -v habe ich mir erstmal die Quellen angesehen. Der initiale pull wurde scheinbar mit https ausgeführt, somit wird der ssh key gar nicht angefragt.
git remote -v
origin https://[URL]/[GRUPPE]/[PROJEKT].git (fetch)
origin https://[URL]/[GRUPPE]/[PROJEKT].git (push)
Nachdem ich die Quelle auf ssh konfiguriert habe lief auch alles so wie erwartet.
git remote set-url origin git@[FQDN]:[GRUPPE]/[PROJEKT].git
Ein erneutes Abfragen der Konfiguration
git remote -v
origin	git@[FQDN]:[GRUPPE]/[PROJEKT].git (fetch)
origin	git@[FQDN]:[GRUPPE]/[PROJEKT].git (push)

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
“Sicher ist, dass nichts sicher ist. Selbst das nicht.”
Joachim Ringelnatz