GNU/Linux >> Znalost Linux >  >> Linux

autentizace veřejným klíčem selže POUZE když je sshd démon

Řešení 1:

Ano, SELinux je pravděpodobně příčinou. .ssh dir je pravděpodobně špatně označen. Podívejte se na /var/log/audit/audit.log . Mělo by být označeno ssh_home_t . Zkontrolujte pomocí ls -laZ . Spusťte restorecon -r -vv /root/.ssh v případě potřeby.

Řešení 2:

Měl jsem stejný problém. V mém případě restorecon a chcon nefungovaly.

Nechtěl jsem zakázat selinux. Po spoustě výzkumu jsem nakonec usoudil, že to bylo proto, že můj domovský adresář byl připojen odjinud (NFS). Našel jsem toto hlášení o chybě, které mi napovědělo.

Běžel jsem:

> getsebool use_nfs_home_dirs
use_nfs_home_dirs --> off

pro potvrzení, že use_nfs_home_dirs bylo vypnuto a poté:

sudo setsebool -P use_nfs_home_dirs 1

jej zapněte.

Nyní mohu ssh na svůj počítač pomocí svého klíče a bez zadávání hesla. Přepínání boolean use_home_nfs_dirs mi stačilo.

Řešení 3:

Chcete-li přidat k odpovědi Marka Wagnera, pokud používáte vlastní cestu domovského adresáře (tj. ne /home ), musíte se ujistit, že jste nastavili kontext zabezpečení SELinux. Chcete-li tak učinit, pokud máte domovské adresáře uživatelů například v /myhome , spustit:

semanage fcontext -a -e /home /myhome
restorecon -vR /myhome

Linux
  1. Ssh – Stále dostáváte výzvu k zadání hesla pomocí Ssh s ověřováním pomocí veřejného klíče?

  2. Kdy byl soubor vytvořen?

  3. Protokolovat pouze přenesené soubory pomocí Rsync?

  1. Povolit ověřování pomocí veřejného klíče SSH

  2. Služba OS Linux „sshd“

  3. Povolit přihlášení root ssh pouze s ověřováním pomocí veřejného klíče

  1. Jak nakonfigurovat ověřování na základě klíče SSH v systému Linux

  2. mkdir -p selže, když adresář existuje

  3. SSH uzavře spojení, když je klíč přijat