Merker: Fail2Ban Status ausgeben
Um schnell den Status aller Fail2Ban „Blocklisten“ auszugeben kann folgender Einzeiler verwendet werden:
fail2ban-client status | sed -n 's/,//g;s/.*Jail list://p' | xargs -n1 fail2ban-client status

Um schnell den Status aller Fail2Ban „Blocklisten“ auszugeben kann folgender Einzeiler verwendet werden:
fail2ban-client status | sed -n 's/,//g;s/.*Jail list://p' | xargs -n1 fail2ban-client status
Man kann unter Linux die Datei /etc/issue.net dazu verwenden, vor dem eigentlichen Passwort Prompt, eine Meldung auszugeben. Diese kann z.B. Nutzer warnen ein Login durchzuführen sofern sie nicht dazu berechtigt sind.
Die Umsetzung ist denkbar einfach. Zuerst müssen wir uns natürlich korrekt auf dem System anmelden und im Anschluss die Datei /etc/issue.net editieren.
pico /etc/issue.net
Dort kann man die gewünschte Meldung eingeben und entsprechend speichern. Im Anschluss müssen die den SSH-Daemon dazu bringen diese auch zu verwenden. Dazu editieren wie die Datei /etc/ssh/sshd_config und suchen nach der Zeile Banner
pico /etc/ssh/sshd_config
Diese dann wie folgt einstellen. (In der Regel ist die Zeile auskommentiert)
# no default banner path
Banner /etc/issue.net
Nach dem Neustart des SSH-Daemon wird bei der Anmeldung vor dem Passwort Prompt die Meldung ausgegeben. (Siehe Bild oben)
service ssh restart
Bei der Authentifizierung mittels SSH-Keys (welches ich empfehle und bevorzuge), gibt es natürlich kein Passwort Prompt. Die Meldung wird dann aber trotzdem ausgegeben.
Mit dem Modul Python-Paramiko kann man via Python SSH Befehle auf einem anderen Host ausführen lassen.
Bei manchen Scripten, wie zum Beispiel Duply, werden neuere Versionen verlangt. Es kommt dann zu folgenden Fehlermeldungen:
/usr/lib/python2.7/dist-packages/paramiko/ecdsakey.py:164: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point self.ecdsa_curve.curve_class(), pointinfo /usr/lib/python2.7/dist-packages/paramiko/kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
Abhilfe schafft das Python Modul aus den Buster Backports zu verwenden. Dazu muss entsprechend die sources.list bearbeitet werden.
pico /etc/apt/sources.list
Und eine weitere Zeile (sofern nicht schon vorhanden) hinzugefügt werden:
deb http://ftp.debian.org/debian buster-backports main
Wie immer müssen dann die Sourcen neu geladen werden und anschließend kann man von den Backports das aktuellere Modul installieren.
apt update && apt -t buster-backports install "python-paramiko"
Um einen Accesspoint von Ubnt/Unifi zurückzusetzen kann wie folgt vorgegangen werden. Ich beschreibe hier einmal das zurücksetzen und anschliessend das aufspielen einer neuen Firmware mittels ssh.
Zuerst machen wir den Accesspoint stromlos. Anschliessend drücken wir den Reset-Pin und halten diesen gedrückt während wir den AP wieder mit Strom versorgen. Nach ca. 10 Sekunden sollte man den Reset-Pin los lassen. Die LED am Accesspoint hören kurz auf zu leuchten.
Während des Neustarts sollte man das Gerät nicht ausschalten!
Nach dem Reset hat der Accesspoint die IP Adresse 192.168.1.20 sofern im Netz kein DHCP läuft. Benutzername/Passwort lautet: ubnt/ubnt .
Unter dem Downloadportal von Unifi ( https://www.ui.com/download/ ) kann man sich z.B. mit wget eine aktuelle Firmware passend zum eigenen Produkt herunter laden. Dieses kann man anschliessend mittels scp auf den Accresspoint speichern.
scp BZ.ar7240.v4.0.15.9872.181229.0259.bin ubnt@192.168.1.20:/tmp/fwupdate.bin
Nach dem Upload kann man sich mittels ssh aus den Accesspoint Verbindung und folgenden Befehl eingeben:
syswrapper.sh upgrade2 &
Nach dem Neustart ist die Firmware aktuell.
Wer remote einen Linux-Server neu startet möchte in der Regel anschließend sich gleich wieder verbinden um die Server-Dienste zu prüfen. Sehr einfach geht dies wie folgt:
Sollte man beim Verbinden mittels SSH folgenden Fehler bekommen, dann kann es helfen die Routing Tabelle zu leeren.
Auf meinem Android Handy (zur Zeit Oneplus 3T Midnight Black) habe ich Termux installiert um eine Terminalemulation für unterwegs zu haben.
Bei dieser Terminalemulation sind die Pfade „natürlich“ unterschiedlich als zu einer „normalen“ Bash. Hier mal ein paar nützliche Pfade die ich bisher benötigt habe:
/etc -> /data/data/com.termux/files/usr/etc/
/etc/profile -> /data/data/com.termux/files/usr/etc/profile
/etc/motd -> /data/data/com.termux/files/usr/etc/motd
/bin -> /data/data/com.termux/files/usr/bin/
~ -> /data/data/com.termux/files/home
SD-Karte/Handyspeicher -> /sdcard
#!/bin/bash -> #!/data/data/com.termux/files/usr/bin/bash
Wer beim kopieren via SCP folgende Fehlermeldung bekommt, der kann ganz leicht Abhilfe leisten.
Wer mit der OSX App „Sequel Pro“ bequem seine MySQL Datenbanken verwalten will, der kommt an einem SSH Tunnel für den sicheren Zugriff eigentlich kaum vorbei.