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é instancebash
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.