Josef Kufner

  • Tato stránka byla aktualizována naposledy před 19 roky.
  • Věci zde uvedené mohou být mírně zastaralé. V takovém případě je vhodné je brát s rezervou a s ohledem na historické skutečnosti.
  • Autentizace v OpenSSH pomocí RSA klíčů

    Jako snad každého mě vůbec nebaví vyťukávání hesel. Při připojování se na různé počítače přes ssh jsem byl nucen vyťukávat celkem dlouhá hesla opravdu často a tak jsem hledal nějaké pohodlnější řešení. Tady je:

    Postup

    Klient

    1. ssh-keygen -t rsa -b 2048 -f ~/.ssh/novy_rsa_klic vygeneruje potřebné klíče.
    2. Aby ssh klient věděl, které klíče na který server použít a jaký login (username) poslat, je nutné vyrobit ~/.ssh/config. Stačí něco jako je toto:
      Host host.domain.tld
      	User username
      	IdentityFile ~/.ssh/novy_rsa_klic

    Server

    1. Aby ssh server poznal, že má klient správný soukromý klíč, je nutné v ~/.ssh/authorized_keys na serveru mít veřejné klíče klientů. Klíče jsou uloženy všechny v jednom souboru, co řádek, to jeden klíč. Veřejný klíč byl uložen do ~/.ssh/novy_rsa_klic.pub.
      ssh username@host.domain.tld 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/novy_rsa_klic

    Poznámky

    Aby toto fungovalo je nutné mít povoleno autorizaci RSA klíči jak na klientovi, tak na serveru (v defaultní konfiguraci je).

    Soubor ~/.ssh/config umí parsovat skript na generování menu pro Window Makera jménem ssh-sessions.