Agent SSH - Ssh-agent
![]() | tento článek potřebuje další citace pro ověření.Květen 2010) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojáři | The OpenBSD Projekt |
---|---|
Úložiště | github |
Napsáno | C |
Operační systém | Unix, Unixový, Microsoft Windows |
Typ | Příkaz |
Licence | BSD, ISC, veřejná doména |
webová stránka | www |
Zabezpečte Shell (SSH) je protokol umožňující zabezpečené vzdálené přihlášení k počítači v síti pomocí kryptografie veřejného klíče. Klientské programy SSH (např ssh
z OpenSSH ) obvykle běží po dobu relace vzdáleného přihlášení a jsou nakonfigurovány tak, aby hledaly soukromý klíč uživatele v souboru v domovském adresáři uživatele (např. .ssh / id_rsa
). Pro větší bezpečnost (například proti útočníkovi, který umí číst jakýkoli soubor v místním souborovém systému), je běžné ukládat soukromý klíč v šifrované podobě, kde je šifrovací klíč počítán z přístupová fráze které si uživatel zapamatoval. Protože zadávání přístupové fráze může být zdlouhavé, mnoho uživatelů by ji raději zadalo pouze jednou za místní relaci přihlášení. Nejbezpečnějším místem pro uložení nezašifrovaného klíče je paměť programu a v operačních systémech podobných systému Unix je paměť obvykle spojena s proces. Normální proces klienta SSH nelze použít k uložení nezašifrovaného klíče, protože proces klienta SSH trvá pouze po dobu trvání relace vzdáleného přihlášení. Uživatelé proto spouští program s názvem ssh-agent který běží po dobu trvání relace místního přihlášení, ukládá nezašifrované klíče do paměti a komunikuje s klienty SSH pomocí Unixový socket domény.
Bezpečnostní problémy
ssh-agent
vytvoří soket a poté zkontroluje připojení z ssh
. Každý, kdo se může připojit k této zásuvce, má také přístup k ssh-agent
. Oprávnění jsou nastavena jako obvykle Linux nebo Unix Systém. Při spuštění agenta vytvoří nový adresář v / tmp
s omezujícími oprávněními. V tomto adresáři je umístěn soket.
Existuje postup, který může zabránit malware z používání ssh-agent
zásuvka. Pokud ssh-add -c
možnost je nastavena při importu klíčů do souboru ssh-agent
, poté agent požaduje potvrzení od uživatele pomocí programu uvedeného v SSH_ASKPASS
proměnná prostředí kdykoli ssh
se pokouší připojit.
V místním systému je důležité, aby uživatel root je důvěryhodný, protože uživatel root může mimo jiné pouze číst soubor klíče přímo. Na vzdáleném systému, pokud ssh-agent
připojení je předáváno dál, je také důležité, aby byl uživatel root na druhém konci důvěryhodný, protože má přístup k zásuvce agenta na dálkovém ovladači (i když ne ke klíči, který zůstává místní).
Implementace
Existuje mnoho různých programů, které provádějí stejné funkce jako OpenSSH ssh-agent, některé s velmi odlišnými uživatelskými rozhraními. Tmel například používá a grafické uživatelské prostředí v jeho dodávaném ssh-agentu Pageant.
Existují nástroje určené k poskytování funkcí agenta klíče pro symetrické i asymetrické klíče; obvykle poskytují funkce ssh-agent jako jedno ze svých aplikačních rozhraní. Mezi příklady patří Klíčenka GNOME a K Peněženka.
Někteří monolitičtí klienti SSH zahrnují schopnost pamatovat si hesla SSH napříč relacemi. Mezi příklady patří: SecureCRT.
Apple macOS
Na Operační Systém Mac operační systém, ssh-agent byl od té doby integrován Leopard, verze 10.5 v roce 2007. Dříve byly k dispozici implementace open-source třetích stran ssh-agent.[1]
Microsoft Windows
OpenSSH -klientské a serverové programy byly zahrnuty do Windows 10 od verze 1803. SSH klient a agent klíče jsou ve výchozím nastavení povoleni a jsou k dispozici a server SSH je volitelný Feature-on-Demand.[2][3]
Reference
- ^ Dribin, Dave (21. srpna 2007). „SSHKeychain Warning“. Blog Dave Dribina.
- ^ https://devblogs.microsoft.com/commandline/windows10v1803/
- ^ https://devblogs.microsoft.com/powershell/using-the-openssh-beta-in-windows-10-fall-creators-update-and-windows-server-1709/