Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linux:ssh [2026/01/06 15:29] swelinux:ssh [2026/01/26 11:16] (current) swe
Line 3: Line 3:
 ## tl;dr ## tl;dr
 ```bash ```bash
 +
 +# Installation von openssh-server auf dem server
 +sudo apt install openssh-server
 +
 +sudo systemctl enable ssh
 +sudo systemctl start ssh
 +
 # Erzeugen des private-public-key Paares auf dem Client # Erzeugen des private-public-key Paares auf dem Client
  
 ssh-keygen -t rsa ssh-keygen -t rsa
---------------------------------------------------------------------+
 # Übertragen des public(!)-key auf den Server in den .ssh Ordner # Übertragen des public(!)-key auf den Server in den .ssh Ordner
  
Line 12: Line 19:
 # Hier Transport und Übertragung nach authorized_keys in einem Rutsch # Hier Transport und Übertragung nach authorized_keys in einem Rutsch
  
-ssh-copy-id user@server+ssh-copy-id bob@server
  
 # Variante 2: Windows zu Linux # Variante 2: Windows zu Linux
 # Hier erst Transport und händisches Übertragung nach authorized_keys # Hier erst Transport und händisches Übertragung nach authorized_keys
 # Client # Client
-scp public_key.pub user@server:~/.ssh+scp public_key.pub bob@server:~/.ssh
 # Server # Server
 cat id_rsa.pub >> authorized_keys cat id_rsa.pub >> authorized_keys
---------------------------------------------------------------------+```
  
 +--- 
 +## Voraussetzung auf dem Server herstellen
 +
 +Voraussetzung für das Anbieten der `ssh`- Funktionalität ist die Installation von `openssh-server`.
 +
 +Im Anschluss muss der Daeman noch mit `systemctl` gestartet werden.
 +
 +```bash
 +# server
 +sudo apt install openssh-server
 +
 +sudo systemctl enable ssh
 +sudo systemctl start ssh
 ``` ```
 +---
 +
 +{{:linux:mermaid.png?direct&400|}}
  
 +{{:linux:mermaid.svg?direct&400|}}
  
-## Client 
  
-Standort: `user@client:~/.ssh`+---
  
 ## Generieren des Schlüsselpaares (public key und private key) ## Generieren des Schlüsselpaares (public key und private key)
Line 35: Line 58:
 ```bash ```bash
 # client # client
-user@client: ssh-keygen -t rsa+bob@client: ssh-keygen -t rsa
 ```  ``` 
 Wenn du die folgenden Abfragen nach Dateinamen nur durch `Enter` überspringst, entstehen standardmäßig zwei Wenn du die folgenden Abfragen nach Dateinamen nur durch `Enter` überspringst, entstehen standardmäßig zwei
Line 46: Line 69:
  
 {{:linux:ssh_client.svg?600|}} {{:linux:ssh_client.svg?600|}}
 +
 +Bei erstmaliger Verwendung von `ssh` sind die Dateien `config`, `known_hosts` und `known_hosts_old` möglicherweise noch nicht vorhanden.
  
 **Verteilt wird ausschließlich der public key! Der private key wird gehütet, wie der eigene Augapfel!** **Verteilt wird ausschließlich der public key! Der private key wird gehütet, wie der eigene Augapfel!**
Line 62: Line 87:
 ``` ```
  
 +---
  
 ## Schlüssel-Transfer: public key --> Server ## Schlüssel-Transfer: public key --> Server
Line 71: Line 96:
 ```bash ```bash
 # client # client
-user@client: ssh-copy-id user@server+bob@client: ssh-copy-id bob@server
 ``` ```
  
Line 79: Line 104:
 ```bash ```bash
 # client # client
-user@client: ssh-copy-id -i ~/.ssh/mykey user@server+bob@client: ssh-copy-id -i ~/.ssh/my_key bob@server
 ``` ```
 `-i ~/.ssh/mykey` macht hier den Unterschied. `-i ~/.ssh/mykey` macht hier den Unterschied.
Line 87: Line 112:
  
 ``` ```
-user@server:~/.ssh/authorized_keys+bob@server:~/.ssh/authorized_keys
 ```  ``` 
  
Line 97: Line 122:
 ```bash ```bash
 # client # client
-user@client: scp id_rsa.pub user@server:~/.ssh+bob@client: scp id_rsa.pub bob@server:~/.ssh
 ``` ```
- +---  
-## Hinzufügen zu authorized_keys+## Hinzufügen zu authorized_keys auf dem Server
 Anschließend muss der Schlüssel manuell der Datei  `authorized_keys` auf dem **Server** hinzugefügt werden: Anschließend muss der Schlüssel manuell der Datei  `authorized_keys` auf dem **Server** hinzugefügt werden:
  
 ```bash ```bash
 # server  # server 
-user@server:~/.ssh cat id_rsa.pub >> authorized_keys+bob@server:~/.ssh cat id_rsa.pub >> authorized_keys
 ``` ```
 {{:linux:ssh_host.svg?600|}} {{:linux:ssh_host.svg?600|}}
  
 +---
  
 ## Einloggen nach dem Schlüssel-Transfer ## Einloggen nach dem Schlüssel-Transfer
Line 117: Line 142:
 ```bash ```bash
 # client # client
-ssh user@server+ssh bob@server
 ``` ```
  
Line 123: Line 148:
 Passwort-Abfrage erfolgt nicht mehr. Passwort-Abfrage erfolgt nicht mehr.
  
-Dabei verwendest du also den Befehl `ssh` ergänzt um das Argumentpaar +Dabei verwendest du also den Befehl `ssh` ergän 
-`user@server`, also dem **User**, der am Host **server** angemeldet+zt um das Argumentpaar 
 +`bob@server`, also dem **bob**, der am Host **server** angemeldet
 werden soll. werden soll.
  
Line 131: Line 157:
 ```bash ```bash
 # client # client
-ssh -i ~/.ssh/id_rsa user@server+ssh -i ~/.ssh/my_key bob@server
 ``` ```
  
 ### Einloggen über Alias ### Einloggen über Alias
  
-Falls dir der Befehl `ssh user@server` noch zu lang ist, ist es möglich,+Falls dir der Befehl `ssh bob@server` noch zu lang ist, ist es möglich,
 sich über einen Alias einzuloggen. sich über einen Alias einzuloggen.
  
-Schreibe eine Konfiguration in die Datei `~/.ssh/config` auf dem **Client**.+Schreibe  
 +eine Konfiguration in die Datei `~/.ssh/config` auf dem **Client**.
  
 ```bash ```bash
Line 145: Line 172:
 Host vmx Host vmx
     HostName hostadresse     HostName hostadresse
-    User user +    User bob 
-    IdentityFile private_key+    IdentityFile path/to/private_key
 ``` ```
  
Line 159: Line 186:
 wählen) wählen)
  
-## Möglichkeit zum Log-In per Passwort deaktivieren in /etc/ssh/sshd_config+--- 
 + 
 +## Log-In per Passwort deaktivieren  
 + 
 +Datei: `/etc/ssh/sshd_config`
  
 Selbst wenn du ein Passwort nach allen Sicherheitsregeln erstellt hast, ist es immer **noch sicherer** gar keine Anmeldung per Passwort zuzulassen.  Selbst wenn du ein Passwort nach allen Sicherheitsregeln erstellt hast, ist es immer **noch sicherer** gar keine Anmeldung per Passwort zuzulassen. 
Line 172: Line 203:
 ``` ```
  
-#### Anschließend noch sshd neu starten:+**Dienst `sshdneu starten**
  
 Vorsicht: In Ubuntu wird ein Alias namens `ssh` verwendet, um `sshd` anzusprechen. Muss man wissen. Vorsicht: In Ubuntu wird ein Alias namens `ssh` verwendet, um `sshd` anzusprechen. Muss man wissen.
 ```bash ```bash
-# server+# server (Ubuntu)
 sudo systemctl restart ssh sudo systemctl restart ssh
 ``` ```
Line 184: Line 215:
 ```bash ```bash
 # server # server
-sudo systemctl restart ssh+sudo systemctl restart sshd
 ``` ```
  
Line 193: Line 224:
 sudo systemctl restart ssh.service sudo systemctl restart ssh.service
 ``` ```
-#### ssh stoppen+**ssh stoppen**
 ```bash ```bash
 # server # server
Line 200: Line 231:
 ``` ```
  
 +---
 ### Exkurs ssh vs sshd sowie systemctl ### Exkurs ssh vs sshd sowie systemctl
  
Line 215: Line 247:
 |`systemctl enable <dienst>` | Aktiviert einen Dienst für den automatischen Start beim Booten| |`systemctl enable <dienst>` | Aktiviert einen Dienst für den automatischen Start beim Booten|
 |`systemctl disable <dienst>` | Deaktiviert einen Dienst| |`systemctl disable <dienst>` | Deaktiviert einen Dienst|
 +
 +---
  
 #### ssh vs sshd #### ssh vs sshd