Řešení 1:
Můžete použít AuthorizedKeysFile
direktiva v /etc/ssh/sshd_config to udělá. Výchozí umístění je .ssh/authorized_keys
ale můžete použít něco, co obsahovalo absolutní cestu, např.
AuthorizedKeysFile /path/to/your/keyfile
manuálové stránky říkají toto
AuthorizedKeysFile
Určuje soubor, který obsahuje veřejné klíče, které lze použít pro autentizaci uživatele. AuthorizedKeysFile může obsahovat tokeny ve tvaru %T, které jsou nahrazeny během nastavování připojení. Jsou definovány následující tokeny:%% je nahrazeno doslovným '%', %h je nahrazeno domovským adresářem ověřovaného uživatele a %u je nahrazeno uživatelským jménem tohoto uživatele. Po rozšíření je AuthorizedKeysFile považován za absolutní cestu nebo cestu relativní k domovskému adresáři uživatele. Výchozí hodnota je „.ssh/authorized_keys“.
Řešení 2:
Upravit :Měli byste hlasovat pro odpověď @Iain výše. Je kompletní a přesný. Moje odpověď níže je zaměřena na sdílené soukromé klíče - zjevně z mé strany nedorozumění. Tuto odpověď zde nechám, protože ji považuji za cennou informaci, jen ne pro tuto konkrétní otázku.
Neznám váš případ použití, ale jsem v pokušení říct „děláte to špatně.“
Každý uživatel by měl mít svůj vlastní kepair. Tímto způsobem, když uživatel odejde, je převeden, povýšen do manažerské role nebo cokoli jiného, co vyžaduje zrušení práv, odvoláte pouze tento jeden klíč. To také značně ztěžuje efektivní audit.
Pokud potřebujete, aby se uživatelé mohli vydávat za jiné uživatele, měli by být nakonfigurováni tak, aby to dělali pomocí sudo
. Mít sdílené klíče SSH obvykle není dobrý nápad.
Řešení 3:
Vaši administrátoři by měli používat a vhodně (pro vaše prostředí) kombinaci sudo
a su
.
ssh
není pro to správným nástrojem.
Rozporná úprava (Omlouvám se, vypadá to, že jsem trpěl titulovou slepotou. Děkuji Zoredache):
Vložte všechny servisní účty do stejného group
, použijte tuto skupinu jako součást Match
blok v sshd_config
zadejte AuthorisedKeysFile
chcete, aby je používali všichni. (Skupina shody je taková, že všechny účty nebudou ovlivněny.) Nebudou však již mít jednotlivé soubory AuthorisedKeysFiles. openssh-lpk
může umožnit, aby jednotlivé účty měly navíc své vlastní klíče, ale tím si nejsem jistý.