SSH Snippets

Ein paar Befehle zum Thema SSH.

Anmerkung:

Es sollte bei den Dateien zum SSH auf die richtigen Rechte geachtet werden. Somit sollten folgende zwei Befehle hilfreich sein:

chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/*

Schlüssel-Erzeugung auf dem Client:

ssh-keygen [-t rsa -b 4096|-t ed25519]

Übertragung des öffentlichen Schlüssel-Teils:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

Der Dateiname zur .pub kann sich entsprechend dem verwendeten Algorythmus ändern:

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server

Notfals geht auch:

cat id_rsa.pub | ssh server 'cat>> ~/.ssh/authorized_keys'

Schlüssel aus authorized_keys entfernen:

sed -i '/user@hostname.or.fqdn$/d' ~/.ssh/authorized_keys

Host in known_hosts hinzufügen

Zumeist wird beim ersten Connect zwar eine Abfrage getätigt, mit der dieser Schritt erfolgen kann, aber in Skripten könnte es von Nöten sein, ohne dieser Abfrage eine entsprechende Datei zuergänzen.

ssh-keyscan -H host.fqdn.or.ip >> known_hosts

Host aus known_host entfernen

ssh-keygen -R hostname

Entferntes System über SSH-Tunnel ansprechen
Synthax:

ssh -L 127.0.0.1:[lokaler Port]:[entfernter Server]:[remote Port] [Jumpserver]

Beispiel:

ssh -L localhost:8443:172.31.10.128:8443 user@ssh-host
lynx https://localhost:8443/

TCPdump in Wireshark via SSH

Um „online“ den Traffic eines entfernten Systems via SSH sich in Wireshark anzeigen lassen zu können sollten auf dem Remote-System tcpdump installiert sein und mit sudo aufgerufen werden können.

Auf einem Mac- oder Linux-Client kann dann folgendes ausegführt werden:

ssh user@remote.server sudo tcpdump -i <Device-Name (z.B.: ens192)> -U -w - 'not port 22' | wireshark -i - -k

Der Filter 'not port 22' dient hierbei der Vermeidung einer „Schleife“ durch die Übertragung via SSH zum lokalen Client hin.


SSH über Proxy tunneln

Als Proxy wurde hier Squid verwendet. In der Squid-Konfiguration sollte (bspw. in der Standard-Konfiguration) der Port 22 bei den ACLs zu Safe_ports und SSL_ports mit aufgenommen werden.

ssh -o "ProxyCommand=nc --proxy proxy:3128 %h %p" user@ssh-ziel.server.tld

Es wurde hier unter CentOS nmap-ncat verwendet.

Quellennachweise und weitere Infos

Dieser Artikel ist publiziert unter: CC by-nc-sa