====== 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 -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 ===== * [1] [[https://wiki.ubuntuusers.de/SSH/|SSH]] //@ Wiki by ubuntuusers.de// * [2] [[http://www.gtkdb.de/index_7_1909.html|SSH-Schlüssel aus der authorized_keys entfernen]] //@ [[http://www.gtkdb.de|Good to Know Database]]// * [3] [[http://sshuttle.readthedocs.io/|sshuttle]] - hilfreiches Tool für SSH-Tunnel {{keywords>tip,trick,linux,howto}} {{tag>ssh snippet konsole}} //Dieser Artikel ist publiziert unter: {{license>by-nc-sa,small}}//