Nastavil jsem svůj Linuxový server tak, aby přijímal připojení z domácího počítače přidáním veřejného klíče generovaného PuTTYgenem do authorized_keys
soubor.
Teď se snažím připojit ke stejnému počítači, ale tentokrát z jiného počítače Ubuntu. Musím použít stejný soukromý klíč (z podivného důvodu, neptej se ..) a nemám dost na to, jak jej nainstalovat na svého klienta Ubuntu.
Musím ji převést do jiného formátu?
Nejsem si jistý, zda váš soukromý klíč bude fungovat v ubuntu, ale stojí za to. stačí zkopírovat klíče do /home/yourName/.ssh/
pojmenujte soukromý klíč jako id_rsa
a veřejný klíč jako id_rsa.pub
.
Pokud to nefunguje, můžete si vytvořit vlastní ssh pár klíčů pomocí ssh-keygen
a zkopírujte nový veřejný klíč na server a ssh následovně
ssh -i ~/.ssh/id_rsa_ubuntu.pub <hostName>
S tím jsem nehrál, ale slyším, že ssh-agent může být také použit ke správě ssh-klíčů.
Shodou okolností jsem to musel udělat. Musíte převést klíče do formátu OpenSSH. Příkaz k tomu je:
ssh-keygen -i -f puttygen_key > openssh_key
pak můžete kopírovat obsah openssh_key
do .ssh/authorized_keys
stejně jako s běžným klíčem SSH.
Možnost -i
Je ta, která říká ssh-keygen
, Aby provedl převod. Možnost -f
Řekne, kde najít klíč pro převod.
Toto funguje pro nešifrované klíče. Veřejný klíč je nešifrovaný, ale soukromý je pravděpodobně šifrovaný. Nejsem si jistý, zda existuje způsob, jak soukromý klíč odšifrovat, převést jej a poté jej znovu zašifrovat. Může být snadnější použít nové klíče, jak naznačuje jiná odpověď (a já bych doporučil použít ssh-agent
, I když to je v aktuálním vydání pravoúhlé).
Andrew Stacey vysvětlil jak převést klíče do formátu OpenSSH v systému Linux.
Pokud chcete udělat totéž v systému Windows, postupujte takto:
Jak znovu použít páry klíčů PuTTY v Ubuntu jako klíče OpenSSH:
apt-get install PuTTY-tools #Install PuTTY tools in Linux
cd /my-PuTTY-keys
puttygen mykey-sec.ppk ‐O private‐openssh ‐o my‐openssh‐key.sec
ssh-keygen -i -f mykey-pub.ppk > my-openssh-key.pub
Protože účelem kroku 4 je přidat veřejný klíč do * ~./Ssh/oprávněných_keys *, můžete použít tento tajný klíč PuTTY, místo tohoto 4, jako mezistupeň:
puttygen ‐L mykey-sec.ppk >> $HOME/.ssh/authorized_keys
PuTTY/PuTTYgen používá svůj vlastní proprietární formát párů klíčů. To nebude fungovat na Linuxu, kde převažuje formát klíčů OpenSSH.
V PuTTYgen můžete přímo vidět (a zkopírovat + vložit) klíč a public ve formátu používaném OpenSSH authorized_keys
soubor.
Pomocí tlačítka ložit veřejný klíč uložte klíč veřejný do .pub
formát (RFC 4716). V systému Linux je soubor obvykle pojmenován id_rsa.pub
(nebo id_dsa.pub
). Ale to obvykle není potřeba.
Pomocí Konverze> Exportovat klíč OpenSSH exportujte klíč soukromý ve formátu OpenSSH. V systému Linux je soubor obvykle pojmenován id_rsa
(nebo id_dsa
) a je uložen v .ssh
složka.
Podívejte se na oficiálního pomocí PuTTYgen, generátoru klíčů PuTTY .
K provedení převodu můžete také použít verzi PuTTYgen pro Linux. Linux verze je příkazový řádek, na rozdíl od verze Windows.
puttygen mykey.ppk ‐O private‐openssh ‐o id_rsa
Viz Linux puttygen
man stránka .
Našel jsem ještě jedno jasné řešení.
Při puttygen
vytvořte klíč, přejděte do hlavní nabídky - Konverze a klikněte na exportovat klíč openssh
Obsah souboru začne a končí na
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
pro uživatele root Zkopírujte tento klíčový soubor do /root/.ssh/
tak jako id_rsa
nebo id_dsa
pro jiného uživatele Zkopírujte soubor klíče do /home/user/.ssh/
tak jako id_rsa
nebo id_dsa
Poznámka :
authorized_keys
.* * Buďte opatrní a ujistěte se, že máte přístup do konzole, protože pokud to neuděláte správně, nebudete moci znovu zasáhnout, dokud jej z konzoly neopravíte.
Tento proces je mnohem jednodušší, než si myslíte. Načtěte znovu pár veřejného a soukromého klíče, který jste vygenerovali v puttygen. V puttygen si všimnete okna uprostřed obrazovky, které říká: „Veřejný klíč pro vložení do souboru Open_HHH autorizovaného SSH:“.
zvýrazněte celý obsah pole a zkopírujte jej stisknutím klávesy control-c.
SSH do vašeho linuxového pole a vložte jej do souboru "/home/username/.ssh/author_keys". Dávám přednost použití nano a kliknutím pravým tlačítkem jej vložíte. Ujistěte se, že vše zůstane na jednom řádku.
Podle potřeby upravte svůj soubor/etc/sshd_config a restartujte službu sshd: "service ssh restart"
Pokud potřebujete ukázkový soubor sshd_config, dejte mi vědět a já mohu poslat svůj.
Udělal jsem to na serveru Ubuntu 8.04, 10.04 a 12.04 LTS a funguje to úhledně.
Nejsem si jistý, jestli je toto vlákno stále aktivní, ale narazil jsem na podobný problém s Windows 10 výročí vydání, které nyní podporují jádro Ubuntu. Používám PuTTY pro připojení k počítači se systémem Linux. Pro generování id_rsa v linuxovém formátu použijte puttykeygen a nahrajte svůj soukromý klíč PuTTY, poté klikněte na převod a vyberte druhou možnost.
PuTTY KeyGenerator conevrsions
otevřete nově vygenerovaný soubor klíčů a zkopírujte veškerý jeho obsah, ujistěte se, že váš obsah začíná: ----- ZAHÁJENÍ SOUKROMÉHO KLÁVESU RSA ----- a končí ----- KONEC PRAKTICKÁ KLÁVESA RSA -----
vi id_rsa uvnitř vašeho ~/.ssh adresáře a vložte zkopírovaný obsah, je to nutné, protože linux jinak nerozumí obsahu souboru.
To je vše, zkuste ssh na vzdálený server, mělo by to fungovat.