SSH ohne Passwort: Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
Voraussetzung ist ein passwortgeschützter SSH-Zugriff zur Server-Maschine.
Voraussetzung ist ein passwortgeschützter SSH-Zugriff zur Server-Maschine.


=== Schlüssel erstellen ===
== Schlüssel erstellen ==


  $ ssh-keygen                                    # Neues RSA-Schlüsselpaar in ~/.ssh/ anlegen
  $ ssh-keygen                                    # Neues RSA-Schlüsselpaar in ~/.ssh/ anlegen


'''Anmerkungen'''
'''Anmerkungen'''
* Passwortabfrage von <code>ssh-keygen</code> kann leer gelassen werden, wenn es nur einen User in der Root-Gruppe gibt. Andernfalls ist dies ein Sicherheitsrisiko.
* Passwortabfrage von <code>ssh-keygen</code> kann leer gelassen werden, wenn es nur einen User in der Root-Gruppe gibt
* Sind mehrere Root-User vorhanden, oder handelt es sich nicht um einen Root-User, ist dies ein Sicherheitsrisiko. In diesem Falle sollte ein Passwort verwendet werden. Dieses kann im Schlüsselbund gedached werden. Vgl. [[SSH ohne Passwort|Passwort für Schlüssel im Schlüsselbund cachen]]




Zeile 35: Zeile 36:
  +-----------------+
  +-----------------+


=== Schlüssel zum remote Host kopieren ===
== Schlüssel zum remote Host kopieren ==


=== Per ssh-copy-id ===
  $ ssh-copy-id user@remotehost.tld
  $ ssh-copy-id user@remotehost.tld
  $ ssh-copy-id -i <id_rsa.pub> -p <port> user@remotehost.tld
  $ ssh-copy-id -i <id_rsa.pub> -p <port> user@remotehost.tld
Zeile 48: Zeile 50:
  $ less ~/.ssh/authorized_keys
  $ less ~/.ssh/authorized_keys


=== Passwort für Schlüssel cachen ===
=== Manuell ===
* Passwort aus <code>~/.ssh/id_rsa.pub</code> in Zwischenablage kopieren
* Auf Zielmaschine einloggen
* Inhalt aus Zwischenablage am Ende der Datei <code>/home/<zieluser>/.ssh/authorized_keys</code> einfügen
 
== Passwort für Schlüssel im Schlüsselbund cachen ==
Wenn der Schlüssel mit einem Passwort gesichert wurde, kann man mit folgendem Programm das Passwort für den Schlüssel puffern für eine automatische Eingabe:
Wenn der Schlüssel mit einem Passwort gesichert wurde, kann man mit folgendem Programm das Passwort für den Schlüssel puffern für eine automatische Eingabe:


Zeile 61: Zeile 68:
# Automatisch gestartete Anwendungen &rarr; GNOME-Schlüsselbunddienst: SSH-Agent
# Automatisch gestartete Anwendungen &rarr; GNOME-Schlüsselbunddienst: SSH-Agent


=== Known Host entfernen ===
== Known Host entfernen ==
Alte Hostnamen können aus den known_hosts entfernt werden mit:
Alte Hostnamen können aus den known_hosts entfernt werden mit:
  ssh-keygen -f "path-to-known_hosts" -R <hostname>  
  ssh-keygen -f "path-to-known_hosts" -R <hostname>  
  ssh-keygen -f "path-to-known_hosts" -R <ipaddress>
  ssh-keygen -f "path-to-known_hosts" -R <ipaddress>
 
[[Kategorie:Linux]]
 
[[Category:Debian]]
[[Category:Debian]]
[[Category:Kryptographie]]
[[Category:Linux]]
[[Category:Kryptographie]]

Version vom 2. Dezember 2016, 23:45 Uhr

Die nachfolgenden Schritte werden von der Client-Maschine aus ausgeführt.

Voraussetzung ist ein passwortgeschützter SSH-Zugriff zur Server-Maschine.

Schlüssel erstellen

$ ssh-keygen                                     # Neues RSA-Schlüsselpaar in ~/.ssh/ anlegen

Anmerkungen

  • Passwortabfrage von ssh-keygen kann leer gelassen werden, wenn es nur einen User in der Root-Gruppe gibt
  • Sind mehrere Root-User vorhanden, oder handelt es sich nicht um einen Root-User, ist dies ein Sicherheitsrisiko. In diesem Falle sollte ein Passwort verwendet werden. Dieses kann im Schlüsselbund gedached werden. Vgl. Passwort für Schlüssel im Schlüsselbund cachen


Ergebnis:

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:
b2:ad:a0:80:85:ad:6c:16:bd:1c:e7:63:4f:a0:00:15 user@host
The key's randomart image is:
+--[ RSA 2048]----+
|  E.             |
| .               |
|.                |
|.o.              |
|.ooo o. S        |
|oo+ * .+         |
|++ +.+...        |
|o. ...+.         |
|  .   ..         |
+-----------------+

Schlüssel zum remote Host kopieren

Per ssh-copy-id

$ ssh-copy-id user@remotehost.tld
$ ssh-copy-id -i <id_rsa.pub> -p <port> user@remotehost.tld

Einloggen ausprobieren

$ ssh user@remotehost.tld

Überprüfen, welche Schlüssel hinterlegt sind, um auszuschließen, dass weitere Schlüssel Zugriff haben:

$ less ~/.ssh/authorized_keys

Manuell

  • Passwort aus ~/.ssh/id_rsa.pub in Zwischenablage kopieren
  • Auf Zielmaschine einloggen
  • Inhalt aus Zwischenablage am Ende der Datei /home/<zieluser>/.ssh/authorized_keys einfügen

Passwort für Schlüssel im Schlüsselbund cachen

Wenn der Schlüssel mit einem Passwort gesichert wurde, kann man mit folgendem Programm das Passwort für den Schlüssel puffern für eine automatische Eingabe:

$ ssh-add -t 3600

Alternativ GNOME Keyring verwenden.

Für XFCE muss dieser in den Sitzungsoptionen aktiviert werden:

  1. Fortgeschritten → Laufzeitumgebung für GNOME beim Starten laden
  2. Automatisch gestartete Anwendungen → GNOME-Schlüsselbunddienst: Sicherheitsdienst
  3. Automatisch gestartete Anwendungen → GNOME-Schlüsselbunddienst: SSH-Agent

Known Host entfernen

Alte Hostnamen können aus den known_hosts entfernt werden mit:

ssh-keygen -f "path-to-known_hosts" -R <hostname> 
ssh-keygen -f "path-to-known_hosts" -R <ipaddress>