Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


fortgeschrittene:ssh

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
fortgeschrittene:ssh [2013/08/29 12:45]
ingo_wichmann [Server Keys neu erzeugen]
fortgeschrittene:ssh [2023/01/27 15:37] (aktuell)
ingo_wichmann
Zeile 1: Zeile 1:
 ====== ssh ====== ====== ssh ======
-===== Einsatzzwecke von ssh ===== 
-  * Fernadministration 
-  * Dateien übers Netz kopieren 
-  * Tunnel bauen 
  
-===== Vorteile von ssh ===== +===== Server Keys ===== 
-  * Sicherheit durch Public-Private Key Verschlüsselung +==== Server Keys neu erzeugen ====
-  * Mehrere Benutzer können einen Account gemeinsam Nutzen +
-  * Single Sign On möglich +
- +
-====== Grundfunktionen ====== +
-Einloggen auf <​Rechner>​ mit <​Benutzer>:​ +
-  ssh <​Benutzer>​@<​Rechner>​ +
-In dem Zusammenhang ist die Nutzung von [[screen]] sehr hilfreich. +
- +
-Dateien auf andere Rechner kopieren: +
-  scp <​Datei>​ <​Benutzer>​@<​Rechner>:/<​Verzeichnis>​ +
-Dateien auf andere Rechner ohne lange Pfadangaben ins $HOME-Verzeichnis von <​Benutzer>​ kopieren: +
-  scp <​Datei>​ <​Benutzer>​@<​Rechner>:<​Verzeichnis>​ +
-Fingerprint Hostkey überprüfen:​ +
-  ssh-keygen -l -f /​etc/​ssh/​ssh_host_rsa_key.pub +
- +
-====== 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 ===
   dpkg-reconfigure openssh-server   dpkg-reconfigure openssh-server
 +
 ==== 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
 +
 +==== Im DNS ablegen ====
 +DNS Resource Records erzeugen:
 +  ssh-keygen -r servername
 +oder
 +  ssh-keyscan -D servername
 +
 +und in der [[bind|DNS Zonendatei des primären Nameservers]] hinterlegen.
 +
 +=== Clientseitige Einstellungen ===
 +Damit der OpenSSH Client den SSHFP-Einträgen im DNS vertraut muss DNSSEC für die Zone aktiviert sein.
 +
 +<file txt ~/​.ssh/​config>​
 +VerifyHostKeyDNS yes
 +</​file>​
 +
 +Ab glibc Version 2.31:
 +<file txt /​etc/​resolv.conf>​
 +options trust-ad
 +</​file>​
 +
 +Falls systemd-resolved genutzt wird:
 +<file txt /​etc/​systemd/​resolved.conf.d/​override.conf>​
 +[Resolve]
 +DNSSEC=allow-downgrade
 +# oder
 +# DNSSEC=yes
 +</​file>​
 +
  
 ====== 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 65:
   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 128:
  
 ===== 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 192:
  
 ====== 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 ]]
fortgeschrittene/ssh.1377780317.txt.gz · Zuletzt geändert: 2013/08/29 12:45 von ingo_wichmann