Was bedeutet% h in der SSHD-Konfiguration?

13

Ich richte OpenSSH auf einem Server ein und habe meine Schlüssel auf meinem Client erstellt, aber ich weiß nicht, wo ich den öffentlichen Schlüssel auf dem Host ablegen soll. Ich verstehe, dass es der authorized_keysDatei hinzugefügt werden muss, aber wo befindet sich die Datei mit den autorisierten Schlüsseln? Darin sshd_confighat es an

%h/.ssh/authorized-keys

Ich schaue mich ein wenig um und habe gesehen, dass Leute% h als Abkürzung für das Ausgangsverzeichnis bezeichnen, aber ist es das Ausgangsverzeichnis wie in /home/.sshoder /home/user/.ssh?

Vergib mir meine Unwissenheit und danke im Voraus!

Das .ssh-Verzeichnis befindet sich an keinem Ort, den ich bereits gesucht habe.

A. Franco
quelle

Antworten:

13

Nach man 5 sshd_config:

% h wird durch das Ausgangsverzeichnis des Benutzers ersetzt, der authentifiziert wird

Dies bedeutet, dass die Datei sein wird /home/user/.ssh/authorized_keys. Wenn das .sshVerzeichnis fehlt (was normal erscheint, wenn es nicht zuvor konfiguriert wurde), können Sie es und die authorized_keysDatei darin erstellen und dann den Inhalt der Datei mit Ihrem öffentlichen Schlüssel füllen.

Jason Stangroome
quelle
Vielen Dank! Ich habe meinen öffentlichen Schlüssel auf einem Flash-Laufwerk, das ich unter / media / usb eingehängt habe, und ich habe versucht, diesen Befehl auszuführen, um den Schlüssel zu erstellen und der Datei authorized_keys hinzuzufügen. sudo cat /media/usb/id_rsa.pub >> /home/user/.ssh/authorized_keys, die mir eine Erlaubnis verweigert haben error -bash: /home/user/.ssh/authorized_keys: Erlaubnis verweigert Was ist damit? & Wie würde ich vorgehen, um diese authorized_keys-Datei zu erstellen? Irgendein bestimmtes Dateiformat oder so?
A. Franco
Wenn Sie es selbst erstellen (oder auch nicht), stellen Sie sicher, dass Sie die richtigen Berechtigungen vergeben: 700 für das Verzeichnis .ssh und 600 für authorized_keys
Jim W wird Monica
0

Der %hPlatzhalter kann eine von zwei (unabhängigen) Bedeutungen haben, je nachdem, wo er in der Konfiguration für sshd (deamon / server) oder ssh (client) verwendet wird.

Die Manpage für sshd_config (5) dokumentiert %hden Dateipfad zu Ihrem Home-Verzeichnis und wird von mehreren Schlüsselwörtern für Dateien und Verzeichnisse akzeptiert:

TOKENS

Argumente für einige Schlüsselwörter können Token verwenden, die zur Laufzeit erweitert werden:

  • [..]
  • %h - Das Home-Verzeichnis des Benutzers.
  • [..]

AuthorizedKeysCommand akzeptiert die Token %%,% f, % h ,% k,% t,% U und% u.

AuthorizedKeysFile akzeptiert die Token %%, % h ,% U und% u.

AuthorizedPrincipalsCommand akzeptiert die Token %%,% F,% f, % h ,% i,% K,% k,% s,% T,% t,% U und% u.

AuthorizedPrincipalsFile akzeptiert die Token %%, % h ,% U und% u.

ChrootDirectory akzeptiert die Token %%, % h ,% U und% u.

Die Manpage für ssh_config (5) dokumentiert %hals den angegebenen Hostnamen im sshBefehl.

TOKENS

  • %h - Der entfernte Hostname.

[..]

HostName Akzeptiert die Token %% und% h.

Dies wird häufig zum Erstellen von Verknüpfungen in der Befehlszeile verwendet. Siehe auch /superuser//q/503687/164493 .

Timo Tijhof
quelle