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:

ChallengeResponseAuthentication no
PasswordAuthentication no (nur hier ist eine Änderung notwendig!)
UsePAM yes
Nach systemctl restart sshd den Zugriff testen. Fertig!


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