Jak mohu načíst veřejný klíč ze soukromého klíče SSH?

373

Soukromý klíč SSH vygenerovanýssh-keygen obsahuje část s veřejným klíčem. Jak mohu načíst tento veřejný klíč ze soukromého klíče? Ztratil jsem svůj veřejný klíč a musím dát obsah tohoto veřejného klíče do souboruauthorized_keys servery a nechcete vytvořit nový pár klíčů.

Alternativně fráze: jak vytvořit souborid_rsa.pub z souboruid_rsa?

    
dané Lekensteyn 18.07.2011 11:57

2 odpovědi

580

Našel jsem odpověď na chybu serveru: Vytvořte veřejný klíč SSH ze soukromého klíče?

Možnost-y vygeneruje veřejný klíč:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub

Jako vedlejší poznámku je komentář veřejného klíče ztracen. Měl jsem web, který vyžadoval komentář (Launchpad?), Takže je třeba upravit~/.ssh/id_rsa.pub a připojit komentář k prvnímu řádku s mezerou mezi komentářem a klíčovými daty. Příklad veřejného klíče je zobrazen níže.

ssh-rsa AAAA..../VqDjtS5 ubuntu@ubuntu

Klávesy, které byly přidány do agenta SSH (program spuštěný na pozadí a vyhýbá se opakovanému zadávání hesel klíčových souborů znovu a znovu), můžete pomocí příkazussh-add -L zobrazit veřejné klíče pro klíče, které byly přidány k agentu (prostřednictvímssh-add -l). To je užitečné, když je klíč SSH uložen na čipové kartě (a přístup k souboru soukromého klíče není možný).

    
odpověděl Lekensteyn 18.07.2011 12:12
12

Jedná se o řešení, které je specifické pro uživatele, kteří používají Windows na SSH, do svých vzdálených počítačů, včetně cloudových obrázků na platformách Amazon AWS a GCE.

(Odmítnutí odpovědnosti)

Nedávno jsem použil toto řešení pro vzdálené přihlášení k novým nasazeným obrazům VM na GCE.

Použité nástroje:

  1. puttygen
  2. WinSCP

Kroky k provedení:

  1. Vytvořte páru veřejných / soukromých klíčů pomocí puttygenu.
  2. Nahrajte veřejný klíč na server v cloudu nebo vzdáleném umístění.

Popis (postup):

  1. Vygenerujte klíč / pár nebo použijte existující soukromý klíč:

    Pokud máte soukromý klíč:

    Otevřete soubor, stiskněte tlačítko zatížení a vyberte soubor se soukromým klíčem (* .pem).

    Pokud ne máte soukromý klíč:

    • Otevřete puttygen,
    • Zvolte požadovaný typ klíče SSH2 DSA (můžete použít RSA nebo DSA) v sekci Parametry ... a je důležité nechat pole pro přístupové heslo prázdné
    • Stiskněte generovat a podle pokynů vygenerujte pár klíčů (veřejné / soukromé).

  2. Vytvořte nový soubor "authorized_keys" (s programem Poznámkový blok):

    Zkopírujte data veřejného klíče z části "Veřejný klíč pro vkládání do souboru OpenSSH authorized_keys" generátoru klíčů PuTTY a vložte klíčová data do souboru "authorized_keys".

    Ujistěte se, že v tomto souboru je pouze jeden řádek textu.

  3. Nahrajte klíč na server Linux:

    • Otevřete WinSCP,
    • Vyberte protokol SFTP a přihlaste se s pověřeními SSH.
    • Při úspěchu vidíte strukturu domovského adresáře na vašem vzdáleném počítači.

    Nahrajte soubor authorized_keys do domovského adresáře na vzdáleném počítači.

  4. Nastavte správná oprávnění:

    Vytvořte adresář.ssh (pokud neexistuje)

    Zkopírujte souborauthorized_keys do adresáře .ssh (toto nahrazuje všechny existující souboryauthorized_keys, poznamenejte si to).

    Pokud existuje soubor, jednoduše přidejte obsah tohoto souboru do existujícího souboru.

    Spuštění příkazů pro nastavení oprávnění:

    sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
    

Nyní budete moci ssh do vzdáleného počítače bez zadávání pověření pokaždé.

Další informace:

  1. Generování a nahrávání SSH klíčů pod Windows

  2. Ověřování bez hesla pomocí OpenSSH Klíčové certifikáty .pem a .pub

odpověděl devprashant 20.11.2015 07:18