Před 25 lety byl uvolněn zdrojový kód balíku aplikací Netscape Communicator jako open source (např. dobová zpráva CNET), z čehož vzešel projekt Mozilla – ten si výročí nyní připomíná.
Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Deep Sky Derelicts.
Sound Open Firmware, projekt Linux Foundation, open source audio DSP firmware a SDK, byl vydán ve verzi 2.5.0. Přináší podporu platformy Mediatek mt8188 nebo nový audio modul ARIA (Automatic Regressive Input Amplifier Module).
Byla vydána nová verze 5.8 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení budou oficiální binární balíčky pro Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, CentOS 7, Amazon Linux 2 a Red Hat Universal Base Image 9.
Byla vydána nová verze 1.77 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.77 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána beta verze Ubuntu 23.04 s kódovým názvem Lunar Lobster. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 23.04 mělo vyjít 20. dubna 2023.
Linuxová distribuce OpenMandriva byla vydána ve verzi ROME 23.03. Název ROME říká, že se jedná se o průběžně aktualizovanou (rolling) edici. Stabilní edice nese název Rock, aktuálně OpenMandriva Lx 4.3 Dysprosium.
Tento pátek od 14:00 proběhne v Brně na FI MUNI konference DevConf Mini. Na programu je celá řada zajímavých přednášek od testování releasů Fedory, přes super počítače nebo Big Data, až po závody autonomních aut. Konferenci bude možné sledovat i na online streamu.
Minulý týden proběhla hackerská soutěž Pwn2Own Vancouver 2023. Adobe Reader, Microsoft SharePoint, Oracle VirtualBox, Tesla, Ubuntu Desktop, Windows 11, macOS, Microsoft Teams, VMWare Workstation. Vše hacknuto. Synacktiv získal 530 000 dolarů a Teslu Model 3.
Byla vydána nová stabilní verze 3.5 svobodného 3D softwaru Blender. Přehled novinek i s náhledy v oznámení o vydání a na YouTube.
Ahoj, chtěl jsem se zeptat, zda existuje možnost použít klíče vygenerované pomocí OpenSSL pro práci s OpenSSH. Konkrétněji, zda lze veřejný klíč z klasického formátu PEM/PKCS nějak převést do jednořádkové podoby, kterou lze dát do souboru authorized_keys
na serveru. Nebo to nejde, mám se na to vybodnout a prostě vytvořit nové klíče pomocí ssh-keygen
? Soukromý klíč v id_rsa
kupodivu v textovém formátu PEM může být a klient ho normálně přečte...
Aha, tak já si dnes vystačím sám. Netransformuje se veřejný klíč. Vypočte se znova ze soukromého klíče pomocí ssh-keygen
.
Nerozumím, odpovědi na otázku.
Soubor se soukromým klíčem obvykle obsahuje i veřejný klíč, protože když už znám soukromý klíč, tak znalost veřejného klíče nic nezkazí.
Avšak výpočet (nikoliv oddělení) veřejného klíče ze soukromého je nemožný.
Pokud se jedná o převod veřejného SSH klíče na klíč vhodný pro authorized_keys, tak tam se nic nepřevádí. Prostě se obsah id_rsa.pub přiřetězí k athorized_keys. Přesně tohle dělá ssh-copy-id.
Pokud si myslíte, že ssk-keygen -i
převádí PEM na OpenSSH formát, tak tomu tak není. Převádí RFC 4712 SSH2 formát na OpenSSH formát. PEM a SSH2 se liší.
Nerozumím, odpovědi na otázku.
Já taky ne. Podstatné je, že mi to už funguje.
Soubor se soukromým klíčem obvykle obsahuje i veřejný klíč, protože když už znám soukromý klíč, tak znalost veřejného klíče nic nezkazí.
Nevím, je to možné. Nicméně soubor, který jsem použil, obsahoval pouze jeden blok s klíčem. Zda tam je někde ukrytý i veřejný klíč, to netuším. Možné to je.
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,30DECD56B5DEE229 ... -----END RSA PRIVATE KEY-----
Avšak výpočet (nikoliv oddělení) veřejného klíče ze soukromého je nemožný.
Obecně asymetrický šifrovací algoritmus musí splňovat pouze podmínku, že z veřejného klíče je nepřekonatelně obtížné odvodit soukromý. Převoditelnost opačným směrem není nijak na závadu, pokud vím.
Už si nepamatuju, jak je to konkrétně v algoritmu RSA. Ze školy si nějak matně vzpomínám, že ani tím druhým směrem se to nedá odvodit, ale jistý si tím už nejsem. Nemám v úmyslu řešit otázku, jestli (a) soubor se soukromým klíčem má někde v sobě ukrytý veřejný klíč, nebo (b) lze odvodit veřejný klíč ze soukromého, nebo (c) je v tom jiný trik. Prostě mi to funguje s původním soukromým klíčem na straně klienta a s tím vygenerovaným SSH klíčem na straně serveru.
Pokud se jedná o převod veřejného SSH klíče na klíč vhodný pro authorized_keys, tak tam se nic nepřevádí. Prostě se obsah id_rsa.pub přiřetězí k athorized_keys. Přesně tohle dělá ssh-copy-id.
V tomto případě se samozřejmě nejedná o převod SSH klíče na klíč pro authorized_keys
. (Tam samozřejmě není třeba nic převádět.) Zde se jedná o převod PEM klíče vygenerovaného pomocí OpenSSL na SSH klíč.
Pokud si myslíte, že ssk-keygen -i
převádí PEM na OpenSSH formát, tak tomu tak není. Převádí RFC 4712 SSH2 formát na OpenSSH formát. PEM a SSH2 se liší.
Vůbec není podstatné, co si o tom myslím. (Kromě toho, o optionu -i
tu řeč nebyla...) Podstatné je, že
ssh-keygen -y -f můj_soubor_se_soukromým_PEM_klíčem >> ~/.ssh/authorized_keys
na straně serveru mi zprovonzil autentifikaci pomocí certifikátu založenou na mém PEM klíči. Už nezadávám heslo uživatele na cílovém stroji, ale pouze heslo k tomu soukromému klíči. Nemám v úmyslu pátrat po tom, proč to funguje.
Nedá. Pojemy "soukromý" a "veřejný" klíč jsou jen věcí definice, je v podstatě jedno, který klíč použijete jako veřejný a který jako soukromý. Platí, že to, co zašifrujete pomocí jednoho klíče, dešifrujete pomocí druhého a naopak. -m.Už si nepamatuju, jak je to konkrétně v algoritmu RSA. Ze školy si nějak matně vzpomínám, že ani tím druhým směrem se to nedá odvodit, ale jistý si tím už nejsem.
Obecně asymetrický šifrovací algoritmus musí splňovat pouze podmínku, že z veřejného klíče je nepřekonatelně obtížné odvodit soukromý. Převoditelnost opačným směrem není nijak na závadu, pokud vím.Veřejný klíč je ze soukromého odvozen. Princip asymetrické kryptografie je v tom, že mezi dvěma klíči je pouze jednosměrný vztah. Pokud by tam ten vztah nebyl žádný, těžko ty klíče "dohromady" (použití jednoho a následně druhého) mohou vést k něčemu rozumnému.
oba klíče (soukromý a veřejný) jsou odvozené ze stejného základu (tím vznikne ta vazba), ale ten základ pak není součástí soukromého klíče, ale zahodí se
AFAIK znalost soukromého klíč (zhruba) odpovídá znalosti dvou velkých prvočísel, zatímco znalost veřejného klíče (opět zhruba) odpovídá znalosti součinu těch prvočísel (s tím, že soukromý klíč by šlo teoreticky získat faktorizací toho součinu, prakticky by ta faktorizace měla u velkých prvočísel trvat velmi dlouhou dobu). Pokud by se ten "stejný základ" zahazoval, tak těžko vysvětlíte tohle:
[user@machine ~]$ openssl version OpenSSL 0.9.8g 19 Oct 2007 [user@machine ~]$ cat > text.txt blabla [user@machine ~]$ openssl genrsa -out mykey_rsa Generating RSA private key, 512 bit long modulus ...++++++++++++ ......++++++++++++ e is 65537 (0x10001) [user@machine ~]$ cat mykey_rsa -----BEGIN RSA PRIVATE KEY----- MIIBOgIBAAJBAM/vbCYhM1m9MMaRXtFHNYkjxQSnBON1e6Ze9LK0biskxaPxxVz0 Lp4IsQW7RfBZQbe4Ly6M/mKaEIHWHp7qo70CAwEAAQJAQAok7Llc705tLzqmUR31 Rv9VNlGaF9Oe+WZVRpR7OZ3TbnSvJF+7RtvBBMgs1bMLiweNs3S73n3u/KZoSexv AQIhAO6q8CRWsLRL/KN3ykzYF2B2TIT4EHjeLLeMJg63m6LVAiEA3wkjWKpZZiWD /Og7Odt6/WLdgETdIFB0E4YbjdG84UkCIF52c7O+SBQkWysMF5rQkHgSenjKgiKE tSg0pT9/9m69AiEAk8DiAaMYhmrj/W97jOCxoZsVUhxMwVOLEkQNjO4dSsECID83 5XcKRsW4wTDq519HeVWL6O/96poU+x6LazkiSsCl -----END RSA PRIVATE KEY----- [user@machine ~]$ openssl rsa -in mykey_rsa -out mykey_rsa.pub -pubout writing RSA key [user@machine ~]$ cat mykey_rsa.pub -----BEGIN PUBLIC KEY----- MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAM/vbCYhM1m9MMaRXtFHNYkjxQSnBON1 e6Ze9LK0biskxaPxxVz0Lp4IsQW7RfBZQbe4Ly6M/mKaEIHWHp7qo70CAwEAAQ== -----END PUBLIC KEY----- [user@machine ~]$ openssl rsautl -encrypt -inkey mykey_rsa.pub -in text.txt -out text.asc -pubin [user@machine ~]$ cat text.asc _o���헔g���|%Ľ�:��8L�j��'����n)�x�Z�a?��??���z[�?N�Z�nf-�b5?[user@machine ~]$ [user@machine ~]$ hexdump text.asc 0000000 6f5f adb9 ed80 9497 f767 8997 257c bdc4 0000010 3aa3 8bbe 4c38 6a8c e5b9 ea27 c8c8 6ecd 0000020 ef29 6878 dd08 f45a 1d61 ebc0 1012 e7d7 0000030 7aec ff5b 4e16 5aed 6ea2 2d66 62e8 0135 0000040 [user@machine ~]$ openssl rsautl -decrypt -inkey mykey_rsa -in text.asc blabla
Tiskni
Sdílej: