macOS: SSH Hosts mit Autovervollständigung aufrufen

Es gibt unter macOS Mojave keine Autovervollständigung der definierten Hosts aus der Datei ~/.ssh/config. Hierzu habe ich in die Datei ~/.bash_profile folgende Funktion eingetragen :

function __completeSSHHosts {
	COMPREPLY=()
	local currentWord=${COMP_WORDS[COMP_CWORD]}
	local completeHosts=$(
		cat "$HOME/.ssh/config" | \
			grep --extended-regexp "^Host +([^* ]+ +)*[^* ]+ *$" | \
			tr -s " " | \
			sed -E "s/^Host +//"
	)

	COMPREPLY=($(compgen -W "$completeHosts" -- "$currentWord"))
	return 0
}

complete -F __completeSSHHosts ssh

Nun reicht wieder ein ssh TAB in der Konsole um die einzelnen Hosts und der damit verbundenen Konfiguration aufzurufen.

What is my IP für die Shell

Unter der Adresse https://ifconfig.co/ gibt es einen Dienst, welcher die öffentliche Adresse des genutzten Clients ausgibt. ifconfig.co lässt sich sehr gut in eigene Scripte durch die Unterstützung von curl, httpie, GNU Wget und fetch einbinden.

Ausgegeben werden hier nicht nur die IP-Adresse (Oktett, Dezimal), sondern auf Wunsch auch noch der Standort (ISO,Stadt, Land, GPS-Koordinaten) und die Erreichbarkeit von Ports ausgegeben.

Es ist möglich die Webanwendung auf einem eigene Host zu installieren, die Quellen liegen in einem öffentlichen Repository auf Github.

Fedora SSH Too many authentication failures

Die Verbindung zu einem Remotehost via SSH kann nicht zustanden kommen falls zu viele öffentliche Schlüssel im Heimatverzeichnis vorhanden sind. Diese werden dann bei einem Verbindungsaufbau der Reihe nach angeboten worauf dann die folgende Fehlermeldung erscheint:

Received disconnect from IPADRESSE port 22:2: Too many authentication failure

Weiterlesen

Thinkpad Helix Fedora der Mauszeiger verschwindet

Nach einer gewissen Zeit der Nutzung hat der Trackpoint und das Touchpad unter dem Thinkpad Helix keine Funktion mehr. Sie verschwinden einfach. Diese Verhalten tritt auch teilweise bei der XSerie und den Yogamodellen auf. In Einzelfällen auch nach einem resume.

Ein entfernen des KernelModules psmouse und erneutes laden funktioniert hier leider nicht, da psmouse kein Kernelmodul, sondern direkt im Kernel enthalten ist.
Aus dem Grund habe ich in der Datei /etc/sysconfig/grub die
GRUB_CMDLINE_LINUX nach dem Eintrag quiet
um folgenden Parameter für das Starten in Grub2 erweitert

psmouse.synaptics_intertouch=0

und eine neue grub.cfg erstellt, damit der Parameter auch übergeben wird.

grub2-mkconfig -o /boot/grub2/grub.cfg

Nach einem Neustart sind die Probleme mit der verschwindenden Funktion der Eingabe behoben. Der Helix und ich freunden uns langsam an.

Screenshot Februar 2019

Bildschirmfoto-von-2019-02-22-08-33-34-700x394 Screenshot Februar 2019
Fedora 29 Gnome GNOME Shell 3.30.2

Wallpaper ist die Philosophie Dieter Rams. Gefunden auf Smashing Magazin. Ich finde die diese 10 Prinzipien lassen sich auch Gut auf Software anwenden.

Für die Anwendungen nutze ich das Materia Theme, für die Shell Gnome OSX Dark Shell, als Mauszeiger La Capitaine und für die Symbole Papirus.

Um maximierte Anwendungen wirklich genießen zu können nutze ich die Erweiterung Pixelsaver

Kopieren und verschieben mit Fortschrittsanzeige in einem Terminal

Folgenden Aliaseintrag in die Datei ~/.bashrc bzw die eingebundene Aliasdatei einfügen:

alias rsyncp="rsync --partial --progress --append --rsh=ssh -r -h -z"
alias rsyncmv="rsync --partial --progress --append --rsh=ssh -r -h -z--remove-sent-files"

Legende

Wir missbrauchen hier das Programm rsync:

  • –partial Teilweise übertragene Daten behalten
  • –progress Detailierte Informationen über den Ablauf ausgeben
  • –append nicht vollständig übertragene Daten wieder aufnehmen.
  • Remoteshellprogramm ist ssh und kein TCP-Daemon
  • -r rekursives Übertragen der Daten
  • -h human readable
  • -z Daten bei der Übertragung komprimieren. Wäre nur sinnvoll bei einer SSH-Verbindung. Da ich den Befehl für lokale und entfernte Übertragungen nutze habe ich den Parameter doch mit eingepflegt.
  • –remove-sent-files übertragene Daten löschen. Dies kommt nur bei dem Befehl für das verschieben zum tragen