Grundlagen von Linux und der Kommandozeile

Auf dem eigenen PC wurde mit ssh-keygen ein Schlüsselpaar für die Public-Key-Authentifizierung erzeugt; nun soll die Verbindung zum Server server1 per ssh ohne Passwort möglich werden. Wie werden die Schlüssel richtig abgelegt?

  1. ADen privaten Schlüssel in ~/.ssh/authorized_keys auf dem Server eintragen und den öffentlichen Schlüssel nur auf dem eigenen PC behalten
  2. BDen öffentlichen und den privaten Schlüssel beide in ~/.ssh auf dem Server ablegen und auf dem eigenen PC nichts zurücklassen
  3. CDen öffentlichen Schlüssel in ~/.ssh/authorized_keys auf dem Server eintragen und den privaten Schlüssel nie vom eigenen PC weggeben
Antwort und Erläuterung anzeigen

Antwort: C. Den öffentlichen Schlüssel in ~/.ssh/authorized_keys auf dem Server eintragen und den privaten Schlüssel nie vom eigenen PC weggeben

Bei der Public-Key-Authentifizierung von SSH prüft der Server mit dem in authorized_keys eingetragenen öffentlichen Schlüssel, ob die verbindende Seite den zugehörigen privaten Schlüssel besitzt. Der private Schlüssel selbst wird nie übertragen; er liegt nur auf dem eigenen PC, mit Rechten wie 600, damit andere ihn nicht lesen können, und ist durch eine Passphrase geschützt. Der öffentliche Schlüssel (eine .pub-Datei wie ~/.ssh/id_ed25519.pub) darf ohne Schaden bekannt werden, und ssh-copy-id trägt ihn in authorized_keys auf dem Server ein. Derselbe Schlüssel wird auch verwendet, wenn Dateien mit scp oder rsync übertragen werden, die über ssh laufen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen von Linux und der Kommandozeile

  1. Was geschieht, wenn „tar -czf proj.tar.gz proj/“ ausgeführt wird?
  2. Nach dem Bearbeiten der mit Git verwalteten Datei main.c wurde nur „git commit -m "fix"“ ausgeführt; es erschien „no changes added to commit“, und nichts wurde committet. Was ist der Grund?
  3. In Git wurde git commit ausgeführt, doch im vom Team gemeinsam genutzten GitHub-Repository erscheint der Commit noch nicht. Was ist der Grund?
  4. In der .gitignore eines mit Git verwalteten Projekts wurde „build/“ eingetragen, doch Änderungen an der früher committeten Datei build/out.log erscheinen weiterhin in git status. Was ist der Grund?
  5. Welche Zuordnung von Standardverzeichnissen unter Linux zu ihrem Inhalt ist richtig?