Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| linux:ssh [2026/01/06 15:33] – swe | linux: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 | ||
| 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 | + | ssh-copy-id |
| # 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 | + | scp public_key.pub |
| # 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 | ||
| + | ``` | ||
| + | --- | ||
| + | |||
| + | {{: | ||
| + | |||
| + | {{: | ||
| + | --- | ||
| ## Generieren des Schlüsselpaares (public key und private key) | ## Generieren des Schlüsselpaares (public key und private key) | ||
| Line 31: | 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, | Wenn du die folgenden Abfragen nach Dateinamen nur durch `Enter` überspringst, | ||
| Line 42: | Line 69: | ||
| {{: | {{: | ||
| + | |||
| + | 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 58: | Line 87: | ||
| ``` | ``` | ||
| + | --- | ||
| ## Schlüssel-Transfer: | ## Schlüssel-Transfer: | ||
| Line 67: | Line 96: | ||
| ```bash | ```bash | ||
| # client | # client | ||
| - | user@client: ssh-copy-id | + | bob@client: ssh-copy-id |
| ``` | ``` | ||
| Line 75: | 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 ~/ | `-i ~/ | ||
| Line 83: | Line 112: | ||
| ``` | ``` | ||
| - | user@server: | + | bob@server: |
| ``` | ``` | ||
| Line 93: | Line 122: | ||
| ```bash | ```bash | ||
| # client | # client | ||
| - | user@client: scp id_rsa.pub | + | bob@client: scp id_rsa.pub |
| ``` | ``` | ||
| - | + | --- | |
| - | ## Hinzufügen zu authorized_keys | + | ## Hinzufügen zu authorized_keys |
| 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: | + | bob@server: |
| ``` | ``` | ||
| {{: | {{: | ||
| + | --- | ||
| ## Einloggen nach dem Schlüssel-Transfer | ## Einloggen nach dem Schlüssel-Transfer | ||
| Line 113: | Line 142: | ||
| ```bash | ```bash | ||
| # client | # client | ||
| - | ssh user@server | + | ssh bob@server |
| ``` | ``` | ||
| Line 119: | Line 148: | ||
| Passwort-Abfrage erfolgt nicht mehr. | Passwort-Abfrage erfolgt nicht mehr. | ||
| - | Dabei verwendest du also den Befehl `ssh` ergänzt | + | 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 127: | 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 `~/ | + | Schreibe |
| + | eine Konfiguration in die Datei `~/ | ||
| ```bash | ```bash | ||
| Line 141: | Line 172: | ||
| Host vmx | Host vmx | ||
| HostName hostadresse | HostName hostadresse | ||
| - | User user | + | User bob |
| - | IdentityFile private_key | + | IdentityFile |
| ``` | ``` | ||
| Line 155: | Line 186: | ||
| wählen) | wählen) | ||
| - | ## Möglichkeit zum Log-In per Passwort deaktivieren | + | --- |
| + | |||
| + | ## Log-In per Passwort deaktivieren | ||
| + | |||
| + | Datei: `/ | ||
| 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 168: | Line 203: | ||
| ``` | ``` | ||
| - | #### Anschließend noch sshd neu starten: | + | **Dienst `sshd` neu 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 |
| sudo systemctl restart ssh | sudo systemctl restart ssh | ||
| ``` | ``` | ||
| Line 180: | Line 215: | ||
| ```bash | ```bash | ||
| # server | # server | ||
| - | sudo systemctl restart | + | sudo systemctl restart |
| ``` | ``` | ||
| Line 189: | Line 224: | ||
| sudo systemctl restart ssh.service | sudo systemctl restart ssh.service | ||
| ``` | ``` | ||
| - | #### ssh stoppen | + | **ssh stoppen** |
| ```bash | ```bash | ||
| # server | # server | ||
| Line 196: | Line 231: | ||
| ``` | ``` | ||
| + | --- | ||
| ### Exkurs ssh vs sshd sowie systemctl | ### Exkurs ssh vs sshd sowie systemctl | ||
| Line 211: | Line 247: | ||
| |`systemctl enable < | |`systemctl enable < | ||
| |`systemctl disable < | |`systemctl disable < | ||
| + | |||
| + | --- | ||
| #### ssh vs sshd | #### ssh vs sshd | ||