Nedávno jsem nainstaloval ubuntu 10.04 a pokouším se připojit ke vzdáleným serverům pomocí SSH, které se nedaří připojit pomocí veřejného klíče.
Vytvořil jsem klíče DSA a poté jsem provedl ssh-copy-id
na vzdálený server, který vytvořil .ssh/authorized_keys
soubor a oprávnění 600
.
Na Ubuntu mám SSH agenta, který přijímá heslo, ale některé vzdálené systémy (F5 Big IP load balancery) mě stále žádají o heslo.
Ověřil jsem sshd_config
soubor na vzdálených systémech k ověření, že se nic na jednotlivých systémech neliší.
Výstup ladění na tom, který funguje, je následující:
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /home/me/.ssh/id_dsa
debug1: Server accepts key: pkalg ssh-dss blen 433
debug1: Authentication succeeded (publickey).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
Výstup ladění systému, který selhal, je následující:
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering public key: /home/me/.ssh/id_dsa
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Trying private key: /home/me/.ssh/id_rsa
debug1: Next authentication method: keyboard-interactive
Password:
authorized_keys
jsou na každém systému identické, se stejnými oprávněními a sshd_config
jsou totožné, stejně jako verze SSH.
Přijatá odpověď:
Informace, které jste zveřejnil, vypadají dobře. Proč ze zvědavosti používáte klíče dsa místo rsa?
Zkontrolujte oprávnění a vlastnictví všech souborů a adresářů (tj.:./.ssh/)
Je uživatelský účet uzamčen? (můžete se přihlásit pomocí hesla?)
Pokud se tak nestane, zkontrolujte soubor protokolu serveru, který by vám měl říci, proč odmítá veřejný klíč (můžete chtít spustit server v podrobnějším režimu, pokud tomu tak není okamžitě jasné proč) – porovnáváme ten, který funguje, s tím, který nefunguje.