GNU/Linux >> Znalost Linux >  >> Linux

ssh klíče ssh-agent bash a ssh-add

Agent je program, který uchovává vaše klíče v paměti, takže je stačí odemknout jednou , místo pokaždé. ssh-agent dělá to pro klíče SSH.

Obvyklé metody pro spuštění ssh-agent jsou:

  • eval `ssh-agent` – toto spustí agenta na pozadí a nastaví vhodné proměnné prostředí pro aktuální instance shellu.

    (ssh-agent , když je spuštěn bez argumentů, vydává příkazy, které mají být interpretovány vaším shellem.)

  • exec ssh-agent bash – spustí nové instance bash shell, který nahradí aktuální.

    (S jedním nebo více argumenty, ssh-agent nevypíše nic, ale spustí zadaný příkaz:v tomto případě bash shell, ale technicky to může být cokoliv.)

    Někdy je preferována druhá metoda, protože automaticky zabije ssh-agenta, když zavřete okno terminálu. (Při spuštění s eval , agent by zůstal spuštěný, ale nepřístupný.)

Tím se však spustí pouze prázdný agent. Aby to bylo skutečně užitečné, musíte použít ssh-add , který odemyká vaše klíče (obvykle ~/.ssh/id_* ) a načte je do agenta, čímž je zpřístupní ssh nebo sftp připojení.


Navíc můžete chtít přidat některé klíče na začátku relace.

Upravte ~/.bashrc soubor a přidejte :

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
}

Zkontrolujte klíče pomocí ssh-add -l

Aktuální relaci ssh-agenta můžete zastavit pomocí ssh-agent -k

Něco, co byste měli vědět o ssh-agent a .bashrc je, že nenačítají příliš mnoho klíčů. Výchozí počet pokusů pro démona ssh je omezen na 6. Toto lze upravit v /etc/ssh/sshd_config s MaxAuthTries hodnotu.


Linux
  1. SSH – Generování a práce s ssh klíči

  2. Jak se připojit k ssh serveru pomocí plink a cmd a veřejného klíče

  3. Bash:Shift+šipky Udělat A,b,c,d?

  1. Ssh – rozdíl mezi klíčem Openssh a klíčem Putty?

  2. Je `~#` Tilde Expanze of Bash?

  3. Jak zajistit, aby sdílené klíče .ssh/authorized_keys a sudo spolupracovaly?

  1. Bash pro průvodce smyčkou a příklady

  2. Jak nastavit klíče SSH

  3. Jak vymažu položky ssh-agent (v systému Mac OS X)?