GNU/Linux >> Znalost Linux >  >> Linux

Převést soukromý klíč Openssh na soukromý klíč Ssh2?

Existuje způsob, jak převést existující pár klíčů OpenSSH na pár klíčů SSH2 (formát ssh.com)?

UPD :protože existuje několik odpovědí o ssh-keygen se najednou objevilo, vysvětlím, odkud jsem přišel (také to bude hezká odpověď na otázku „co jsi zkusil?“).

$> diff --report-identical-files <(ssh-keygen -e -f ~/.ssh/id_dsa) <(ssh-keygen -e -f ~/.ssh/id_dsa.pub)
Files /tmp/zshAGGWAK and /tmp/zshPZiIr6 are identical

Jinými slovy, ssh-keygen vrací stejné klíče pro soukromé a veřejné vstupní klíče (haše původních souborů se samozřejmě liší, zkontroloval jsem je dvakrát, abych se ujistil, že jde o platné soukromé a veřejné klíče). Zdá se, že jde o ssh-keygen generuje pouze veřejný klíč pro soukromý nebo veřejný vstupní klíč.

Dělám to špatně, nebo je to normální chování?

Přijatá odpověď:

Zdá se, že tento tutoriál s názvem:SSH:Převod OpenSSH na SSH2 a naopak nabízí to, co hledáte.

Převést klíč OpenSSH na klíč SSH2

Spusťte OpenSSH verzi ssh-keygen na vašem veřejném klíči OpenSSH, abyste jej převedli do formátu potřebného pro SSH2 na vzdáleném počítači. Toto musí být provedeno na systému, na kterém běží OpenSSH.

$ ssh-keygen -e -f ~/.ssh/id_dsa.pub > ~/.ssh/id_dsa_ssh2.pub

Převést klíč SSH2 na klíč OpenSSH

Spusťte OpenSSH verzi ssh-keygen na vašem veřejném klíči ssh2, abyste jej převedli do formátu potřebného pro OpenSSH. To je třeba provést na systému, na kterém běží OpenSSH.

$ ssh-keygen -i -f ~/.ssh/id_dsa_1024_a.pub > ~/.ssh/id_dsa_1024_a_openssh.pub

Výukový program dále ukazuje, jak generovat různé typy klíčů a jak je exportovat do jiných formátů.

Použít toto pro soukromé a veřejné klíče?

Podle manuálové stránky by odpověď byla ano. Podívejte se na manuálovou stránku pro ssh-keygen uvádí následující pro -e přepínač:

 -e    This option will read a private or public OpenSSH key file and print
       the key in RFC 4716 SSH Public Key File Format to stdout.  This option
       allows exporting keys for use by several commercial SSH implementations.

Ale v praxi by to vypadalo, že ssh-keygen nelze převádět soukromé klíče, pouze veřejné.

Například:

# Make a new RSA key-pair
$ ssh-keygen -t rsa -f newkey

# attempt to extract the private key
$ ssh-keygen -e -f newkey > newkey_e

# attempt to extract the public key
$ ssh-keygen -e -f newkey.pub > newkey.pub_e

# Notice the supposed extracted private key (newkey_e) and the corresponding extracted public key (newkey.pub_e) have identical `md5sum`'s.
$ for i in *;do md5sum $i;done
d1bd1c12c4a2b9fee4b5f8f83150cf1a  newkey
8b67a7be646918afc7a041119e863be5  newkey_e
13947789d5dcc5322768bd8a2d3f562a  newkey.pub
8b67a7be646918afc7a041119e863be5  newkey.pub_e

Pohled na výsledné extrahované klíče to potvrzuje:

$ grep BEGIN newkey_e newkey.pub_e 
newkey_e:---- BEGIN SSH2 PUBLIC KEY ----
newkey.pub_e:---- BEGIN SSH2 PUBLIC KEY ----

Trochu jsem googloval jsem narazil na tuto reklamu z článku s názvem:Jak převádíte soubory soukromého klíče OpenSSH na SSH. Zdálo se, že web je nahoru a dolů, ale při hledání této stránky v mezipaměti Google jsem našel následující oznámení:

Jak převedete soubory soukromého klíče OpenSSH na soubory soukromého klíče SSH.com?

Nelze to provést programem ssh-keygen, i když většina manuálových stránek
říká, že může. Odrazují od toho, že budete používat více veřejných
klíčů. Jediný problém je, že RCF vám nedovolí zaregistrovat více
než jeden veřejný klíč.

Článek dále popisuje metodu převodu soukromého klíče openssh na soukromý klíč ssh.com pomocí puttygen společnosti PuTTY nářadí. POZNÁMKA: puttygen lze spustit z Windows a Linuxu.

Otevřete „puttygen“ a vygenerujte 2048bitový rsa veřejný/soukromý klíčový pár.
Po vygenerování nezapomeňte přidat heslo. Uložte veřejný
klíč jako „puttystyle.pub“ a uložte soukromý klíč jako „puttystyle“. Program
putty a programy SSH.com sdílejí společný formát veřejného klíče
, ale program putty a OpenSSH mají odlišné formáty veřejného klíče.
K tomu se vrátíme později. Měli byste být schopni načíst oba
klíče puttystyle do programu putty. Formáty soukromého klíče
pro putty a SSH.com však nejsou stejné, a proto budete muset
vytvořit převedený soubor. Přejděte do nabídky konverzí a exportujte
klíč SSH.com. Uložte jej jako „sshstyle“. Nyní se vraťte do nabídky konverzí
a exportujte klíč openssh. Uložte jej jako „openssh“. Tyto názvy
jsou libovolné a můžete si vybrat vlastní. Později budete muset změnit
názvy pro instalaci na počítači OpenSSH. Viz níže.

Vzhledem k výše uvedenému jsem pomocí puttygen vypracoval následující , pomocí našeho dříve vygenerovaného soukromého/veřejného páru klíčů openssh:

# generate ssh.com private key from private openssh key
$ puttygen newkey -O private-sshcom -o newkey.puttygen-sshcom

# generate ssh.com public key from private openssh key
$ puttygen newkey -O public -o newkey.pub_puttygen-sshcom

# generate openssh public key from private openssh key (for confirmation)
$ puttygen newkey -O public-openssh -o newkey.pub_puttygen-openssh

Komentáře jsou odlišné, takže nemůžete jen porovnat výsledné soubory, takže pokud se podíváte na prvních pár řádků kláves, je to docela dobrý indikátor toho, že výše uvedené příkazy byly úspěšné.

Související:Ubuntu – Jak nakonfigurovat externí IP adresy pro hosty LXC?

Porovnání veřejných klíčů ssh.com:

$ tail -n +3 newkey.pub_e | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb

$ tail -n +3 newkey.pub_puttygen-sshcom | head -1 | cut -c 1-60
AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wb

Porovnání veřejných openssh klíčů:

$ cut -c 1-100 newkey.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY

$ cut -c 1-100 newkey.pub_puttygen-openssh 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkZdpmbze9c6pT883rE1i64TJd4wbz9x/w6I2DmSZVI9TJa6M9jgGE952QsOY

Linux
  1. Jak převést soubor PPK na klíče OpenSSH a přihlásit se pomocí SSH v Linuxu?

  2. Převést pevný odkaz na symbolický odkaz?

  3. Jak provádět SSH a SCP bez hesla z SSH2 na OpenSSH

  1. Sloučit / převést více souborů PDF do jednoho PDF

  2. Jak převést klíč .ppk na klíč OpenSSH pod Linuxem?

  3. Jak převést soubor TAR na soubor ISO

  1. Jak importovat soukromý klíč do FileZilla pro SFTP

  2. Jak předat již předaný klíč Ssh do Tmux?

  3. Sdílení soukromých klíčů mezi počítači?