Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
lpi2:ssh [2013/08/29 12:45] 127.0.0.1 Externe Bearbeitung |
lpi2:ssh [2019/12/19 07:32] ingo_wichmann [SSH über mehrere Hops] |
||
---|---|---|---|
Zeile 24: | Zeile 24: | ||
====== Server Keys neu erzeugen ====== | ====== Server Keys neu erzeugen ====== | ||
rm /etc/ssh/ssh_host_*key* | rm /etc/ssh/ssh_host_*key* | ||
- | === CentOS 6 === | + | === CentOS (ab 6), SuSE === |
service sshd restart | service sshd restart | ||
=== Debian === | === Debian === | ||
Zeile 30: | Zeile 30: | ||
==== Clientseitig Server-Key löschen ==== | ==== Clientseitig Server-Key löschen ==== | ||
ssh-keygen -R server-name | ssh-keygen -R server-name | ||
+ | ssh-keygen -R IP-Adressse | ||
+ | |||
====== Public-Private-Key Authentifizierung ====== | ====== Public-Private-Key Authentifizierung ====== | ||
+ | ===== Benutzerauthentifizierung ===== | ||
Als Nutzer Schlüsselpaar erzeugen: | Als Nutzer Schlüsselpaar erzeugen: | ||
- | ssh-keygen -d -C "Kommentar" | + | ssh-keygen -C "Kommentar" |
Public-Key auf anderen Rechner übertragen: | Public-Key auf anderen Rechner übertragen: | ||
- | ssh-copy-id -i .ssh/id_dsa.pub nutzer05@notebook05 | + | ssh-copy-id -i .ssh/id_rsa.pub nutzer05@notebook05 |
oder alternativ: | oder alternativ: | ||
- | cat .ssh/id_dsa.pub | ssh nutzer05@notebook05 "cat >> .ssh/authorized_keys" | + | cat .ssh/id_rsa.pub | ssh nutzer05@notebook05 "cat >> .ssh/authorized_keys" |
- | ssh nutzer05@notebook05 "chmod 400 .ssh/authorized_keys" | + | ssh nutzer05@notebook05 "mkdir -m 700 .ssh" |
+ | ssh nutzer05@notebook05 "chmod 600 .ssh/authorized_keys" | ||
===== Serverseitig Passwortauthentifizierung abschalten ===== | ===== Serverseitig Passwortauthentifizierung abschalten ===== | ||
Zeile 51: | Zeile 55: | ||
ssh-add -i .ssh/id_dsa | ssh-add -i .ssh/id_dsa | ||
- | Bei SuSE 11.0 wird der ''ssh-agent'' bei der Anmeldung nur gestartet, wenn das Verzeichnis ''~/.ssh'' existiert: | + | Dem ''ssh-agent'' verfügbare Schlüssel anzeigen: |
+ | ssh-add -l | ||
+ | |||
+ | (( Bei SuSE 11.0 wird der ''ssh-agent'' bei der Anmeldung nur gestartet, wenn das Verzeichnis ''~/.ssh'' existiert: | ||
mkdir -m 700 ~/.ssh | mkdir -m 700 ~/.ssh | ||
+ | )) | ||
==== Agent-Forwarding nutzen ==== | ==== Agent-Forwarding nutzen ==== | ||
ssh -A nutzer17@notebook17 | ssh -A nutzer17@notebook17 | ||
ssh -A nutzer07@notebook07 | ssh -A nutzer07@notebook07 | ||
- | ==== SSH über mehrere Hops ==== | ||
- | ((ausführlicher beschrieben unter http://sshmenu.sourceforge.net/articles/transparent-mulithop.html)) | ||
- | |||
- | ''nc'' ( netcat ) muss installiert sein. | ||
- | |||
- | ''~/.ssh/config'' : | ||
- | <file> | ||
- | Host notebook01 | ||
- | Hostname notebook01.linuxhotel.de | ||
- | ForwardAgent yes | ||
- | |||
- | Host notebook02 | ||
- | Hostname notebook02.linuxhotel.de | ||
- | ProxyCommand ssh -q notebook01 nc -q0 %h %p | ||
- | </file> | ||
- | |||
- | ssh notebook02 | ||
- | |||
- | ==== SSH skriptbar über mehrere Hops ==== | ||
- | Befehl per Skript auf notebook16 ausführen, notebook16 ist nur via notebook15 zu erreichen: | ||
- | ssh-agent bash -c "ssh-add .ssh/id_dsa; ssh -A nutzer15@notebook15 ssh nutzer16@notebook16 ls" | ||
==== Sicherheitseinschränkung bei Agent-Forwarding ==== | ==== Sicherheitseinschränkung bei Agent-Forwarding ==== | ||
Zeile 132: | Zeile 118: | ||
===== ppp over ssh ===== | ===== ppp over ssh ===== | ||
- | Dies ist nur ein Beispiel um zu zeigen das das geht. In der Praxis würde ich immer OpenVPN oder ähnliche Lösungen verwenden. | + | Dies ist nur ein Beispiel um zu zeigen, dass das geht. Eine modernere Variante ist die Funktion ''PermitTunnel'' von ssh zu nutzen. |
==== Einfache Variante ==== | ==== Einfache Variante ==== | ||
Zeile 196: | Zeile 182: | ||
====== sshd als ftp-Server Ersatz ====== | ====== sshd als ftp-Server Ersatz ====== | ||
- | scponly: http://www.sublimation.org/scponly/ | + | scponly: https://github.com/scponly/scponly |
====== Links ====== | ====== Links ====== | ||
* [[ http://www.jfranken.de/homepages/johannes/vortraege/ssh1_inhalt.de.html | SSH Grundlagen von Johannes Franken ]] | * [[ http://www.jfranken.de/homepages/johannes/vortraege/ssh1_inhalt.de.html | SSH Grundlagen von Johannes Franken ]] |