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
|
### 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
|
## 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://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://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://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