netzwerke:ssh

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
netzwerke:ssh [2022/12/29 21:32] – [SSH-Passphrase entfernen] stnetzwerke:ssh [2026/05/26 16:15] (aktuell) – [ForwardAgent / ProxyCommand] st
Zeile 109: Zeile 109:
   * [[http://www.freesoftwaremagazine.com/articles/run_any_gnu_linux_app_on_windows_without_any_virtualization|Using SSH to access programs from an Ubuntu box]]   * [[http://www.freesoftwaremagazine.com/articles/run_any_gnu_linux_app_on_windows_without_any_virtualization|Using SSH to access programs from an Ubuntu box]]
   * [[http://www.pro-linux.de/news/1/22882/microsoft-portiert-openssh-auf-windows.html|Microsoft portiert OpenSSH auf Windows]]   * [[http://www.pro-linux.de/news/1/22882/microsoft-portiert-openssh-auf-windows.html|Microsoft portiert OpenSSH auf Windows]]
 +  * Powershell einstellen das er sich passphrase merkt:
 +    * https://gist.github.com/danieldogeanu/16c61e9b80345c5837b9e5045a701c99
 +    * https://stackoverflow.com/questions/370030/why-git-cant-remember-my-passphrase-under-windows
 +
  
 === Clients === === Clients ===
Zeile 226: Zeile 230:
  
   - man legt ggf. einen eigenen Benutzer an   - man legt ggf. einen eigenen Benutzer an
-  - RSA-Schlüssel erzeugen (dsa-keys sind unsicher; Standard sind 2048 Bit, hier auf 3072 Bit erhöht) <code bash>ssh-keygen -t rsa -b 3072</code>. Ausgabe:<file> +  - **Ed25519** <code bash>ssh-keygen -t ecdsa</code> oder **RSA**-Schlüssel erzeugen (für alten OpenSSH-Versionen vor 6.5; dsa-keys sind unsicher; Standard sind 2048 Bit, hier auf 4096 Bit erhöht) <code bash>ssh-keygen -t rsa -b 4096</code>. Ausgabe:<file> 
-ssh-keygen -t rsa -b 3072+ssh-keygen -t rsa -b 4096
 Generating public/private rsa key pair. Generating public/private rsa key pair.
 Enter file in which to save the key (/home/USER/.ssh/id_rsa): id_rsa Enter file in which to save the key (/home/USER/.ssh/id_rsa): id_rsa
Zeile 237: Zeile 241:
 SHA256:hspFtyqTQd0VdPwMpgIa/FVHResMIZBJG/VgNHYi3hk freier-Kommentar-z.B.-e-Mail-oder-USER@HOST SHA256:hspFtyqTQd0VdPwMpgIa/FVHResMIZBJG/VgNHYi3hk freier-Kommentar-z.B.-e-Mail-oder-USER@HOST
 The key's randomart image is: The key's randomart image is:
-+---[RSA 3072]----+ ++---[RSA 4096]----+ 
-    .=OE+*oo  +        .+.o. ++
-   o..o+O %+. . | +     . .o+o= +
-   .+oo= ooo+.  +    . ..oo+ + = 
-  ....o...  +o  +   . .. oo+o o .| 
-   o S.    o  +    .oo.. *.| 
-|   = o         +     =oo o   = o| 
-            +    +.* +      E
-              +   ..*        
-                |+     .+++       |
 +----[SHA256]-----+ +----[SHA256]-----+
 </file>''id_rsa'' ist der private Schlüssel und ''id_rsa.pub'' ist der öffentliche Schlüssel. </file>''id_rsa'' ist der private Schlüssel und ''id_rsa.pub'' ist der öffentliche Schlüssel.
Zeile 290: Zeile 294:
  
 Das erledigt dieser folgende Befehl: ''ssh-keygen -i -f $Dateiname'' Das erledigt dieser folgende Befehl: ''ssh-keygen -i -f $Dateiname''
 +
 +== Pubkey aus private Key erzeugen ==
 +
 +Falls der pubkey nicht vorliegt: <code bash>ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub</code>
 +
  
 ==== ForwardAgent / ProxyCommand ==== ==== ForwardAgent / ProxyCommand ====
  
-Im Normlfall meldet man sich direkt an einem Server mit seinem SSH-Schlüssel an.+Im Normalfall meldet man sich direkt an einem Server mit seinem SSH-Schlüssel an.
 Manchmal sind jedoch interne Server nicht direkt erreichbar sondern müssen über einen Gateway/Jumphost-Server erreicht werden. Manchmal sind jedoch interne Server nicht direkt erreichbar sondern müssen über einen Gateway/Jumphost-Server erreicht werden.
  
Zeile 398: Zeile 407:
 ==== SSH-Passphrase hinzufügen / ändern ==== ==== SSH-Passphrase hinzufügen / ändern ====
  
-Der private Schlüssel sollte mit einem Passwort bzw. einer Passphrase geschützt werden. Änderungen der Passphrase geht einfach mit ''ssh-keygen'':+Der private Schlüssel sollte mit einem Passwort bzw. einer Passphrase geschützt werden. 
 + 
 +Überprüfen ob Passphrase gesetzt (wenn ja, dann Fehlermeldung "incorrect passphrase supplied to decrypt private key"): ''ssh-keygen -y -P "" -f ~/.ssh/id_rsa'' 
 + 
 +Änderungen der Passphrase geht einfach mit ''ssh-keygen'':
  
 <code bash>ssh-keygen -f ~/.ssh/id_dsa -p</code> <code bash>ssh-keygen -f ~/.ssh/id_dsa -p</code>
Zeile 460: Zeile 473:
  
   -  **nur Protokollversion 2** benutzen <file>Protocol 2</file>   -  **nur Protokollversion 2** benutzen <file>Protocol 2</file>
-  - **keine root-logins** zulassen <file>PermitRootLogin no</file>Administration wird ausschließlich über normale Benutzer vorgenommen und dann [[linux:rechte#su/sudo|fallweise per sudo oder bei Bedarf permanent (su) auf root-Rechte wechseln]]. Dazu muss ein Eintrag in der Datei ''/etc/sudoers'' angelegt werden (mit dem Befehl ''visudo''): <file>Benutzer1  ALL=(ALL) ALL</file>Es kann auch die Berechtigung für einzelne Aufgaben vergeben werden (zur Not auch ohne Passworteingabe)+  - **keine root-logins** zulassen (Administration wird ausschließlich über normale Benutzer vorgenommen und dann [[linux:rechte#su/sudo|fallweise per sudo oder bei Bedarf permanent (su) auf root-Rechte wechseln]]. Dazu muss ein Eintrag in der Datei ''/etc/sudoers'' angelegt werden (mit dem Befehl ''visudo''): <file>Benutzer1  ALL=(ALL) ALL</file>Es kann auch die Berechtigung für einzelne Aufgaben vergeben werden (zur Not auch ohne Passworteingabe)): 
 +    - <file>PermitRootLogin no</file> in der ''/etc/ssh/sshd_config'' anschließend ''systemctl reload sshd'' 
 +    - oder nur pubkey: <file>PermitRootLogin without-password</file> 
 +    - Warnmeldung + logout via /root/.ssh/authorized_keys: <file>command="echo 'Please login as the user \"debian\" rather than the user \"root\".';echo;sleep 10;exit 142" ssh-rsa some-key text 
 +</file>
   - **Distributionsbanner** abschalten (Beispiel: SSH-2.0-OpenSSH_5.9p1 //Debian-5ubuntu1.10// :!: Version wird immer noch angezeigt, dafür gibt es keine Option):   - **Distributionsbanner** abschalten (Beispiel: SSH-2.0-OpenSSH_5.9p1 //Debian-5ubuntu1.10// :!: Version wird immer noch angezeigt, dafür gibt es keine Option):
     - [[ubuntu:Ubuntu]]:<file>DebianBanner no</file>     - [[ubuntu:Ubuntu]]:<file>DebianBanner no</file>