SSH
Angelegt Sonntag 14 Januar 2018
OpenSSH Manual Pages : https://www.openssh.com/manual.html
OpenSSH/Client Configuration Files : https://en.m.wikibooks.org/wiki/OpenSSH/Client_Configuration_Files
SSH Essentials: Working with SSH Servers, Clients, and Keys : https://www.digitalocean.com/community/tutorials/ssh-essentials-working-with-ssh-servers-clients-and-keys
SSH einrichten
SSH über Passwort.
Einfach auf einem Server einzurichten. Sicherheit hängt von der Qualität des Passworts ab.
1) apt install openssh-server : SSH-Server installieren.
2) Jetzt kann man sich per ssh user@server in den Server einwählen
SSH auf öffentliche Schlüssel umstellen.
1) Man benötigt ein Schlüsselpaar (falls nicht vorhanden, dieses z.B. mit ssh-keygen -t rsa -b 4096 erzeugen). (Info)
2) Den öffentlichen Schlüssel (ssh-rsa AAA.....) als erste bzw. weitere Zeile in die Server-Datei ~/.ssh/authorized_keys des Homeverzeichnisses des Benutzers eintragen.
3) Den geheimen Schlüssel in das Verzeichnis ~/.ssh/ kopieren. (Die Standard-Datei des geheimen Schlüssels ist ~/.ssh/id_rsa .)
4) Zugriff mit öffentlichem Schlüssel testen, d.h. für ssh user@server wird kein Passwort mehr benötigt (obwohl Passwort noch aktiv)..
Passwortzugriff abschalten (da potentielle Sicherheitslücke)
Auf dem Server die Datei /etc/ssh/sshd_config wie folgt anpassen:
PasswordAuthentication no (nur hier ist eine Änderung notwendig!)
UsePAM yes
SSH Kommandos
ssh -V : Version von OpenSH anzeigen
ssh-copy-id -i ~/.ssh/mykey user@host : Öffentlichen Schlüssel auf einen host kopieren.
ssh-copy-id -i ~/.ssh/mykey.pub user@host.de : Den öffentlichen Schlüssel mykey dem User user auf Server host.de in authorized_keys zur Verfügung stellen.
Bequemer Aufruf von ssh mit .ssh/config
In Datei ~/.ssh/config Einträge der Form:
Host myhost User userxyz IdentityFile ~/.ssh/id_rsa Dann Aufruf mit ''$ ssh myhost'' . **Include** ''Include ~/.ssh/netlab_config'' : Konfigurations-Files in ''~/.ssh/config'' einlesen. ([[https://io.adafruit.com/blog/notebook/2016/09/27/ssh-config-includes/|Seit OpenSSH 7.3]]., ) HostName 194.95.66.116
Port-Forewarding
Sehr gute Erklärung: https://rufflewind.com/2014-03-02/ssh-port-forwarding
-L : Port-Forewarding.
-N : Kein Remote Kommando ausführen.
Weitere Erkärungen:
sehr gut : https://namc.in/2018-06-26-ssh-port-forwarding
https://www.techrepublic.com/article/how-to-use-local-and-remote-ssh-port-forwarding/
https://www.ssh.com/ssh/tunneling/example
SSH-Tunnel
SSH Tunnel to Target Nodes : https://mkezz.wordpress.com/2017/08/04/prometheus-in-docker-ssh-tunnel-to-target-nodes/
Reverse ssh tunnel mit autossh : https://komplett.cc/cms/2014/09/reverse-ssh-tunnel-mit-autossh/
SSH Agent Forwarding
An Illustrated Guide to SSH Agent Forwarding : http://www.unixwiz.net/techtips/ssh-agent-forwarding.html
How to use SSH properly and what is SSH Agent Forwarding : https://dev.to/levivm/how-to-use-ssh-and-ssh-agent-forwarding-more-secure-ssh-2c32
SSH Agent Forwarding considered harmful : https://heipei.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/
SSH-Alternativen
Ghostunnel : https://github.com/square/ghostunnel
Backlinks:
2 Network