ssh Public-Key-Verfahren eingefügt
This commit is contained in:
parent
d978cf25b0
commit
9237c33f0e
95
README.md
95
README.md
@ -268,8 +268,103 @@ Passwort:
|
||||
|
||||
### SSH-Zugang für "Public-Key-Verfahren" konfigurieren
|
||||
|
||||
Eine der sichersten Möglichkeiten, den Server per ssh-Zugang zu erreichen, ist das sogenannte "Public-Key-Verfahren". Dazu wird auf dem Computer, von dem aus der Server erreicht werden soll, ein Schlüsselpaar erzeugt und dessen öffentlicher Teil auf den Server kopiert. Der ssh-Server wird dann so konfiguriert, dass sich der Benutzer mit der Schlüssel-Authentifizierung anmelden kann, ohne dabei das Passwort eingeben zu müssen. Die Anmeldung ist dann nur von dem Gerät aus möglich, auf dem der Schlüssel gespeichert ist.
|
||||
|
||||
!!! warning "Achtung"
|
||||
Auf transportablen Geräten sollte die Schlüsseldatei mit einem Passwort geschützt werden.
|
||||
|
||||
#### Vorbereitung am Client (Ubuntu-PC)
|
||||
|
||||
Ein Schlüsselpaar mit `ssh-keygen` erstellen:
|
||||
|
||||
```
|
||||
~$ ssh-keygen -b 4096
|
||||
Generating public/private rsa key pair.
|
||||
Enter file in which to save the key (/home/user/.ssh/id_rsa):
|
||||
Enter passphrase (empty for no passphrase):
|
||||
Enter same passphrase again:
|
||||
Your identification has been saved in /home/user/.ssh/id_rsa.
|
||||
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
|
||||
The key fingerprint is:
|
||||
SHA256:1D14Rqm4wCxBJjv+GDDV/w2J5PkUncfkobhYCEILHPE user@PC
|
||||
The key's randomart image is:
|
||||
+---[RSA 4096]----+
|
||||
|=**+. . +o.. |
|
||||
|o==.oo.o.+oo . |
|
||||
|oooFo*+oo.. + o |
|
||||
|...+-+=oo. + |
|
||||
| . ooo..S. |
|
||||
| . o. .o. |
|
||||
| o |
|
||||
| |
|
||||
| |
|
||||
+----[SHA256]-----+
|
||||
```
|
||||
|
||||
#### Den öffentlichen Teil des Schlüssels auf den Server übertragen
|
||||
|
||||
Das Übertragen des öffentlichen Schlüssels auf den Server erfolgt noch mittels Passwort-Authentifizierung. Wenn später ein weiterer Client für dieses Verfahren eingerichtet werden soll, muss die ssh-Konfiguration vorübergehend auf dieses Verfahren umgestellt werden. Als Werkzeug für die Schlüssel-Übertragung dient das Programm `ssh-copy-id`. Als zusätzlicher Parameter ist der Port anzugeben, der vorher für den ssh-Zugang zum Server festgelegt wurde.
|
||||
|
||||
```
|
||||
user@PC:~$ ssh-copy-id -p 54683 -i .ssh/id_rsa.pub sshuser@1.2.3.4
|
||||
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
|
||||
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
|
||||
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
|
||||
sshuser@1.2.3.4's password:
|
||||
|
||||
Number of key(s) added: 1
|
||||
|
||||
Now try logging into the machine, with: "ssh -p '54683' 'sshuser@1.2.3.4'"
|
||||
and check to make sure that only the key(s) you wanted were added.
|
||||
|
||||
user@PC:~$
|
||||
```
|
||||
|
||||
#### Testen der Schlüssel-Authentifizierung
|
||||
|
||||
Wenn alles geklappt hat, kann man sich jetzt mit dem folgenden Befehl an der ssh-Konsole des Servers anmelden:
|
||||
|
||||
```
|
||||
ssh -p '54683' 'sshuser@1.2.3.4'
|
||||
```
|
||||
|
||||
#### Änderungen am ssh-Server
|
||||
|
||||
Nach erfolgreicher Anmeldung wird am Server die ssh_Konfiguration so geändert, dass man sich nur noch über das Public-Key-Verfahren anmelden kann:
|
||||
|
||||
=== "/etc/ssh/sshd_config"
|
||||
```sh hl_lines="2"
|
||||
...
|
||||
PasswordAuthentication no
|
||||
...
|
||||
```
|
||||
|
||||
Sobald der ssh-Server mit dem Befehl `service ssh restart` neu gestartet wurde, sollte die Anmeldung mit Passwort nicht mehr möglich sein.
|
||||
|
||||
```
|
||||
sshuser@1.2.3.4: Permission denied (publickey).
|
||||
user@PC:~$
|
||||
|
||||
```
|
||||
|
||||
#### Lesezeichen am Client anlegen
|
||||
|
||||
Wenn man es noch komfortabler haben möchte, kann man sich am Client-PC ein Lesezeichen für den ssh-Server anlegen, um die Verbindung noch einfacher herstellen zu können. Dazu wird die Datei `home/user/.ssh/config` angelegt, bzw. geändert:
|
||||
|
||||
=== "/home/user/.ssh/config"
|
||||
```
|
||||
Host mein_server
|
||||
User sshuser
|
||||
HostName 1.2.3.4
|
||||
port 54683
|
||||
PreferredAuthentications publickey
|
||||
IdentityFile ~/.ssh/id_rsa
|
||||
```
|
||||
|
||||
|
||||
## Quellen
|
||||
|
||||
- [https://vitux.com/7-methods-to-generate-a-strong-password-in-ubuntu/](https://vitux.com/7-methods-to-generate-a-strong-password-in-ubuntu/)
|
||||
- [https://developer-blog.net/ssh-port-aendern/](https://developer-blog.net/ssh-port-aendern/)
|
||||
- [https://de.wikipedia.org/wiki/Liste_der_standardisierten_Ports](https://de.wikipedia.org/wiki/Liste_der_standardisierten_Ports)
|
||||
- [https://www.thomas-krenn.com/de/wiki/OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu](https://www.thomas-krenn.com/de/wiki/OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu)
|
||||
|
Loading…
x
Reference in New Issue
Block a user