GNU/Linux >> Znalost Linux >  >> Linux

Je centrální umístění pro author_keys dobrý nápad?

Řešení 1:

Všechny soubory klíčů lze centralizovat ve stejném adresáři a nemíchat je ve stejném souboru.

Jednoduše nastavte sshd_config soubor takto:

AuthorizedKeysFile  /etc/ssh/authorized_keys/%u

Na vašem serveru:

  • Klíče www-data budou v /etc/ssh/authorized_keys/www-data
  • kořenové klíče budou v /etc/ssh/authorized_keys/root

Pokud jde o přístupová práva, sshd přijímá tato nastavení:

/etc/ssh/authorized_keys je ve vlastnictví root:root a má režim 755. Klíčové soubory vlastní root:root a mají režim 644.

Jiné režimy mohou fungovat, ale netestoval jsem je.

Řešení 2:

Obecně řečeno bych neudělal to, co navrhujete. Porušuje běžné předpoklady (jako ~/.ssh/authorized_keys pracuje pro vaše uživatele a přináší problémy, které jste již zmínili ve své otázce. Pokud před implementací vidíte do očí bijící problémy, znamená to, že vaše řešení není ideální.

Z hlediska bezpečnosti si také myslím, že je to HROZNÉ nápad, aby všichni sdíleli servisní účet:Právě teď jste to jen vy a víte, že změny provádíte vy. Za 5 let, kdy budete mít 5 administrátorů, budete chtít vědět, kdo co změnil, a prohrabávat se protokoly auditu, abyste zjistili, kdo kdy použil jaký klíč, je královská bolest.
Je lepší, když se lidé přihlašují jako oni sami a používají sudo nebo něco podobného, ​​aby eskalovali jejich privilegia a dělali vše, co potřebují.

Pokud stále chcete centralizovat klíče SSH, doporučuji podívat se na systém nasazení, jako je Puppet nebo radmind, který bude spravovat/distribuovat authorized_keys soubory do příslušných ~user/.ssh/ adresáře (nebo hacknout podomácku vypěstované řešení, které je SCP zavede na místo).
Když expandujete na více serverů, možná budete chtít nahlédnout do opravy veřejného klíče LDAP pro starší verze OpenSSH (nebo AuthorizedKeysCommand direktivu a vhodný skript v novější verzi OpenSSH), takže můžete centralizovat své uživatele a nemusíte distribuovat jejich klíče po celé síti, ale to pro vás bude pravděpodobně dost daleko.


Linux
  1. Vyhrazený prostor pro root na souborovém systému – proč?

  2. K čemu jsou Inody dobré?

  3. Crontab's @reboot funguje pouze pro root?

  1. Jak nastavit oprávnění Sudo pro uživatele v Linuxu

  2. Modul IPTables ip_tables nebyl nalezen pro uživatele root

  3. určit ulimit pro uživatele root

  1. Jaká je dobrá mnemotechnická pomůcka pro Shell Double vs. Jednoduché uvozovky?

  2. Jaké je výchozí kořenové heslo pro MySQL 5.7

  3. Umístění .bashrc for Bash na Ubuntu ve Windows ve Windows 10