Suche
Suche Menü

Mac: SSH Server aktivieren/deaktivieren

Der SSH Server auf einem Mac ist standardmässig deaktiviert. Hier eine Anleitung wie er aktiviert und deaktiviert werden kann.

sudo systemsetup -setremotelogin on

Der Status des SSH-Server kann wie folgt geprüft werden:

sudo systemsetup -getremotelogin

Zum deaktivieren des SSH-Servers folgenden Befehl ausführen:

sudo systemsetup -setremotelogin off

Beim deaktivieren wird gefragt, ob der Server wirklich deaktiviert werden soll. Soll diese Frage auch umgangen werden, kann der Befehl mit force ausgeführt werden:

sudo systemsetup -f -setremotelogin off

Nach dem deaktivieren wieder prüfen, ob das Resultat auch entsprechend ist:

sudo systemsetup -getremotelogin

Mac: Spacer / Separator dem Dock hinzufügen

Um das Dock im Mac ein wenig aufzuräumen und die Icon zu gruppieren, können Spacer hinzugefügt werden.

Im Terminal können die Spacer mit folgenden Befehlen hinzugefügt werden:

Normaler Spacer:

defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}'; killall Dock

Schmaler Spacer:

defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="small-spacer-tile";}'; killall Dock

Quelle

Mac: einen Private Key zum Schlüsselbund hinzufügen

Der native SSH Client von MacOS X kann den Schlüsselbund verwenden um auf das Passwort desselben zugreifen zu können.
Um den Private Key zum Schlüsselbund hinzuzufügen verwende folgenden Befehl:

ssh-add -K /pfad/zum/private/key

Wenn der Private Key unter .ssh abgelegt ist und den Namen id_Mac hat, muss folgender Befehl verwendet werden:

ssh-add -K ~/.ssh/id_Mac

Anschliessend muss das Passwort des Private Keys eingegeben werden. Anschliessend kann dieser Private Key ohne Passwort verwendert werden.

E-Mail signieren und verschlüsseln mit S/MIME

E-Mails können mit S/MIME signiert und verschlüsselt werden. Dieser Standard wird von den meisten E-Mail Clients unterstützt. Um S/MIME nutzen zu können, braucht es ein Zertifikat welches durch eine zentrale Zertifizierungsstelle ausgestellt wird.

Der italienische Anbieter Actalis bietet kostenlose S/MIME Zertifikate an, welche ohne jeglichen Support genutzt werden können. Für Support kann man ein kostenpflichtiges Zertifikat bei diesem oder einem anderen Anbieter erwerben.

Im Online Assistenten von Actalis kann man das Zertifikat mit Eingabe der E-Mailadresse erstellen.

An die E-Mailadresse wird ein Bestätigungscode versandt welcher im zweiten Schritt eingegeben werden muss.

Anschliessend wird das Passwort für das Zertifikat ausgegeben, welches an einem sicheren Ort aufbewahrt werden sollte.

Das Zertifikat selber kommt kurz danach per E-Mail als ZIP-Anhang. Zusätzlich kommen in diesem E-Mail die Zugangsdaten zum Admin-Panel von Actalis in welchem das Zertifikat auch wiederrufen oder verlängert werden kann.
Das Zertifikat wird im Format PFX ausgeliefert.

Zertifikat unter Mac einbinden

Um das Zertifikat in Mac zu installieren, muss man die Schlüsselbundverwaltung öffnen und auf Abschnitt «Anmeldung» klicken. Anschliessend kann das Zertifikat mit einem Doppelklick geöffnet werden. Es folgt die Eingabe des Zertifikat-Passworts und anschliessend ist das Passwort importiert.

Apple Mail nutzt das Zertifikat sofort ohne dass dieses speziell eingerichtet werden muss. Für den Zugriff auf den Schlüsselbund erfolgt jeweils eine Passwortabfrage welche mit «Immer erlauben» auch deaktiviert werden kann.

Zertifikat unter iOS einbinden.

Hierzu habe ich eine schöne Schritt-für-Schritt Anleitung mit Bildern gefunden, welche ich hier verlinke:

https://knowledge.digicert.com/de/de/quovadis/secure-e-mail/mac-ios/Secure-E-Mail-unter-iOS-importieren-und-in-Apple-Mail-konfigurieren.html

Logrotage mit einem bash-Script

Linux rotiert Logfiles in mehreren Stufen. Dabei gibt es verschiedene Möglichkeiten wie diese Logfiles aussehen können.

# Variante 1
logfile.log
logfile.log.0.gz
logfile.log.1.gz
logfile.log.2.gz

# Variante 2
maillog
maillog-20220828
maillog-20220904
maillog-20220911
maillog-20220918

Der Hintergrund eines solchen rotierenden Logfiles ist es, die Dateien einerseits nicht zu gross werden zu lassen und andererseits, sollten sie gzip komprimiert sein, auch Platz zu sparen.

Hier habe hier zwei Varianten für ein solches Logrotate Script:

Logrotate nach fixem Zeitraum

#!/bin/sh

# Log directory
LOGDIR=/data/logs

# Maximum number of archive logs to keep
MAXNUM=30

#Log files to be handled in that log directory 
files=(access.log error.log)

for LOGFILE in "${files[@]}"
do 

## Check if the last log archive exists and delete it.
if [ -f $LOGDIR/$LOGFILE.$MAXNUM.gz ]; then
rm $LOGDIR/$LOGFILE.$MAXNUM.gz
fi

NUM=$(($MAXNUM - 1))

## Check the previous log file.
while [ $NUM -ge 0 ]
do
NUM1=$(($NUM + 1))
if [ -f $LOGDIR/$LOGFILE.$NUM.gz ]; then
mv $LOGDIR/$LOGFILE.$NUM.gz $LOGDIR/$LOGFILE.$NUM1.gz
fi

NUM=$(($NUM - 1))
done


# Compress and clear the log file
if [ -f $LOGDIR/$LOGFILE ]; then
cat $LOGDIR/$LOGFILE | gzip > $LOGDIR/$LOGFILE.0.gz
cat /dev/null > $LOGDIR/$LOGFILE
fi

done

Quelle

Logrotate nach Filegrösse

#!/bin/bash
checkSizeOver() {
  typeset -i LFSB LFSM LOG_SIZE=10
  LF=$1
  LOG_SIZE=$2
  LFSB=$(stat -c "%s" $LF)
  # This is bytes - turn into MB, base 2}
  LFSM=${LFSB}/1048576
  # This is bytes - turn into MB, base 2
  if [ $LFSM -gt $LOG_SIZE ]
    then
      return 0
    else
      return 1
  fi
}

LOG_PATH=$1
OLD_LOG_PATH=$2
for file in $LOG_PATH/*.log
do
  SIZE=10
  NAME=$(basename $file)
  now="$(date +'%Y-%m-%d_%H-%m')"
  if checkSizeOver $file $SIZE;
    then
      DEST=$OLD_LOG_PATH/$NAME.$now
      mv $file $DEST
      echo Logfile $file is greater than $SIZE MB
    else
      echo Logfile $file is less than $SIZE MB
  fi
done

Quelle

AirPod Pro Ladecase lädt nicht an PC

Mein AirPod Pro Ladecase wurde am Windows 10 / 11 PC nicht geladen. Die Lösung des Problem ist:

  • Systemsteuerung öffnen
  • Geräte und Drucker öffnen
    Nun nach dem Case unter «nicht angegeben» suchen
  • Mit der rechten Maustaste auf den Eintrag «AirPod» klicken und auf «Eigenschaften» klicken.
  • Auf den Reiter «Hardware» wechseln und das «USB-Eingabegerät» selektieren und die Eigenschaften öffnen
  • In den Reiter «Treiber» wechseln und das Gerät deaktivieren. Auf dem Printscreen ist es bereits deaktiviert

Danach das Gerät ausstecken und wieder einstecken. Nun funktioniert das Laden.

Offline Backup einer Webseite mit wget

Mit wget lässt sich einfach eine Offline-Backup einer Webseite anlegen

wget --mirror --convert-links --adjust-extension --page-requisites --no-parent -e robots=off https://www.webseite.ch

Bedeutung der einzelnen Flags

  • --mirror – Macht den Download rekursiv (Zusammenfassung von -r -l inf -N).
  • --convert-links – Konvertiert alle Links wie z.B. Stylesheets in relative Links, damit sie für die Offline-Anzeige geeignet sind.
  • --adjust-extension – Fügt dem Dateinamen die entsprechende Endung (html oder css) hinzu.
  • --page-requisites – Lädt alle verlinkten Dateien wie Stylesheets, PDFs und Bilder herunter, die für die korrekte Offline-Anzeige der Seite erforderlich sind.
  • --no-parent – Beim Rekursieren wird nicht zum übergeordneten Verzeichnis aufgestiegen. Dies ist nützlich, um den Download auf einen Teil der Website zu beschränken.
  • -e robots=off – ignoriert die robots.txt datei, damit der mirror wirklich vollständig ist

Linux: DBeaver installieren

DBeaver ist ein Datenbankverwaltungsprogramm mit welches einen Connector für diverse Datenbanken über einen JDBC Treiber – MySQL/MariaDB, PostgreSQL, Oracle, DB2 LUW, Google BigQuery, Exasol, SQL Server, Sybase/SAP ASE, SQLite, Firebird, H2, HSQLDB, Derby, Teradata, Vertica, Netezza, Informix, etc. Wenn Support für non-JDBC Datenquellen wie WMI, MongoDB, Cassandra, Redis gebraucht wird, dann muss die DBeaver Enterprise Edition gekauft werden.

DBeaver ist für Linux, Windows, und Mac verfügbar.

DBeaver basiert auf der Eclipse-Plattform und ist ein gutes Workbench-Tool für die Erstellung von SQL-Abfragen, die Bearbeitung und Übertragung von Daten, die Anzeige von Objektbäumen, die Durchführung von Datenbankverwaltungsaufgaben, die Überwachung von Datenbankverbindungssitzungen und vieles mehr.

Schritt 1: Installation von OpenJDK für Ubuntu

OpenJDK ist die Standard-Java-Entwicklungs- und -Laufzeitumgebung, die im Debian-Repository verfügbar ist. Mit folgendem Befehl installiert man Java auf einem Ubuntu basierenden OS:

sudo apt update
sudo apt -y install default-jdk

Mit folgendem Befehl kann geprüft werden, welche Version installiert wurde.

$ java -version
openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Schritt 2: Installation DBeaver CE

Repository hinzufügen

wget -O - https://dbeaver.io/debs/dbeaver.gpg.key | sudo apt-key add -
echo "deb https://dbeaver.io/debs/dbeaver-ce /" | sudo tee /etc/apt/sources.list.d/dbeaver.list

DBeaver CE installieren

sudo apt update
sudo apt install -y dbeaver-ce

Mit folgendem Befehl kann prüft werden, welche DBeaver Version installiert ist:

$ apt policy dbeaver-ce
dbeaver-ce:
  Installiert:           22.2.0
  Installationskandidat: 22.2.0
  Versionstabelle:
 *** 22.2.0 500
        500 https://dbeaver.io/debs/dbeaver-ce  Packages
        100 /var/lib/dpkg/status

Linux: Remmina installieren

Remmina ist ein Remote Desktop Client, der neben RDP auch weiteres wie SSH oder VNC kann. Über Plugins können weitere Protokolle ergänzt werden.

sudo apt-add-repository -y ppa:remmina-ppa-team/remmina-next
sudo apt update
sudo apt install -y remmina remmina-plugin-rdp remmina-plugin-secret

Um weitere Plugin zu installieren, kann nach den verfügbaren Plugin mit folgendem Befehl gesucht werden:

apt-cache search remmina-plugin

Zur Zeit sind folgende Plugins verfügbar:

remmina-plugin-nx – NX plugin for Remmina
remmina-plugin-xdmcp – XDMCP plugin for Remmina
remmina-plugin-exec – EXEC plugin for Remmina
remmina-plugin-kiosk – Kiosk plugin for Remmina
remmina-plugin-kwallet – KWallet plugin for Remmina
remmina-plugin-python – Python support for Remmina
remmina-plugin-rdp – RDP plugin for Remmina
remmina-plugin-secret – Secret plugin for Remmina
remmina-plugin-spice – Spice plugin for Remmina
remmina-plugin-vnc – VNC plugin for Remmina
remmina-plugin-www – WWW plugin for Remmina
remmina-plugin-x2go – X2Go plugin for Remmina

rsync mit mehreren Verzeichnispfaden

rsync kann auch mehrere Verzeichnispfaden umgehen. Im Manual von rsync steht entsprechend:

The syntax for requesting multiple files from a remote host is done
by specifying additional remote-host args in the same style as the 
first, or with the hostname omitted.  For instance, all these work:

    rsync -av host:file1 :file2 host:file{3,4} /dest/
    rsync -av host::modname/file{1,2} host::modname/file3 /dest/
    rsync -av host::modname/file1 ::modname/file{3,4}

Entsprechend diesem Beispiel aus dem Manual sieht es so aus, wenn aus zwei Verzeichnissen aus einem Remote-System Daten übertragen werden sollen. Zwischen den einzelnen Verzeichnissen muss ein Leerschlag sein.

rsync -e ssh -av user@remote.com:/pfad/zum/verzeichnis :/pfad/zu/zweitem/verzeichnis /local/verzeichnis

Beachte, dass wenn ein / am Ende eines Pfades ist, nur der Inhalt des Pfades übertragen wird. In diesem Fall haben wir allerdings kein End-Slash, da wir den Verzeichnisnamen auch übertragen wollen. Ohne End-Slash würden die Daten aus beiden Ordnern zusammen im gleichen Ordner zusammengeführt.