GNU/Linux >> LINUX-Kenntnisse >  >> Linux

ssh-Schlüssel ssh-agent bash und ssh-add

Ein Agent ist ein Programm, das Ihre Schlüssel im Speicher behält, sodass Sie sie nur einmal entsperren müssen , statt jedes Mal. ssh-agent tut dies für SSH-Schlüssel.

Die üblichen Methoden zum Starten von ssh-agent sind:

  • eval `ssh-agent` – Dies führt den Agenten im Hintergrund aus und setzt die entsprechenden Umgebungsvariablen für den aktuellen Shell-Instanz.

    (ssh-agent , wenn es ohne Argumente gestartet wird, gibt Befehle aus, die von Ihrer Shell interpretiert werden.)

  • exec ssh-agent bash – beginnt ein neues Instanz von bash Shell, die die aktuelle ersetzt.

    (Mit einem oder mehreren Argumenten, ssh-agent gibt nichts aus, sondern startet den angegebenen Befehl:in diesem Fall die bash Shell, aber technisch könnte es alles sein.)

    Die zweite Methode wird manchmal bevorzugt, da sie ssh-agent automatisch beendet, wenn Sie das Terminalfenster schließen. (Beim Starten mit eval , würde der Agent weiterhin laufen, aber nicht zugänglich sein.)

Dies startet jedoch nur einen leeren Agenten. Um es tatsächlich nützlich zu machen, müssen Sie ssh-add verwenden , wodurch Ihre Schlüssel entsperrt werden (normalerweise ~/.ssh/id_* ) und lädt sie in den Agenten, wodurch sie ssh zugänglich gemacht werden oder sftp Verbindungen.


Außerdem möchten Sie vielleicht einige Schlüssel beim Sitzungsstart hinzufügen.

Bearbeiten Sie Ihre ~/.bashrc Datei, und fügen Sie hinzu:

ssh-add &>/dev/null || eval `ssh-agent` &>/dev/null  # start ssh-agent if not present
[ $? -eq 0 ] && {                                     # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null        # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null        # Load key 2
}

Überprüfen Sie Ihre Schlüssel mit ssh-add -l

Sie können die aktuelle SSH-Agent-Sitzung mit ssh-agent -k beenden

Etwas, das Sie über ssh-agent und .bashrc wissen sollten, ist, nicht zu viele Schlüssel zu laden. Die Standardanzahl der Versuche für den SSH-Daemon ist auf 6 begrenzt. Dies kann in /etc/ssh/sshd_config geändert werden mit dem MaxAuthTries Wert.


Linux
  1. Bash:Umschalt+Pfeiltasten Machen A,b,c,d?

  2. Berechtigungen für SSH- und Home-Verzeichnisse?

  3. Ssh – Der Unterschied zwischen einem Openssh-Schlüssel und einem Putty-Schlüssel?

  4. Wie können Shared Keys .ssh/authorized_keys und sudo zusammenarbeiten?

  5. Wie lösche ich die ssh-agent-Einträge (unter Mac OS X)?

Bash brechen und fortfahren

Bash Exit-Befehl und Exit-Codes

Linux-Grundlagen:So erstellen und installieren Sie SSH-Schlüssel auf der Shell

Erstellen und speichern Sie Geheimnisse wie Passwörter, OAuth-Token und SSH-Schlüssel in Kubernetes

SSH-Tunneling und Proxying

Installieren und verwenden Sie WinSCP