Om du vill skicka mig elektronisk post så går det bra.
Och om du vill tillbaks till huvudsidan ska det nog också gå för sig.


2013-06-02 17:15 Varför är OpenSSH så ohjälpsamt?

SSH är fantastiskt, jag använder det varje dag, och det kan göra nästan allt. Men varför är OpenSSH (den enda relevanta implementation) så aktivt ohjälpsamt?

Låt oss säga att jag har en dator jag SSH:ar till ibland. Den finns i min known_hosts, typ såhär:

example.org ssh-rsa AAAA....

När jag SSH:ar till den verifierar SSH att nyckeln stämmer. Den stämmer, allt är bra, och SSH säger inget om saken. Strålande. Precis som det ska vara. Men tänk om framtiden kommit sen jag senast SSH:ade till den datorn, och SSH nu tycker att det ska vara en ECDSA-nyckel istället. Hur blir det då?

Jo, om det bara är antingen servern eller klienten som tycker det blir det precis som förut såklart. Men om båda tycker det? Ja då blir det precis som om jag aldrig haft någon kontakt med datorn förut.

The authenticity of host 'example.org (0.0.0.0)' can't be established.
ECDSA key fingerprint is aa:...

Hade det verkligen varit för mycket begärt att den talade om ifall RSA-nyckeln matchade? Jag är helt övertygad om att detta har en inverkan på hur mycket jag vill lita på den där nyckeln.

Så säg att jag är noggrann, och bestämmer mig för att ta reda på att nyckeln stämmer. Något SSH-utvecklarna absolut påstår sig vara för att man gör.

Så, in och gräva i "man ssh". Efter alldeles för mycket letande så hittar jag "ssh -o HostKeyAlgorithms=ssh-rsa" (det står bara nästan). Jag kan nu logga in på datorn jag ville till med någorlunda säkerhet. Men jag ville ju ha ECDSA-nyckeln sparad, det finns säkert någon utmärkt anledning till att SSH numera föredrar den nyckeln.

Nå, det är väl bara att kopiera in den i min known_hosts? För all del, jag kan göra så, men som användarinterface suger det. Särskillt eftersom mer exakt vad SSH vill skriva före nyckeln är så icke-uppenbart (varierande alltså) och det dessutom varierar det var nyckeln är sparad. Och om jag vill ha known_hosts hashad så duger det inte ens nästan.

Nä, jag får försöka ta reda på nyckelns fingeravtryck. I verkligheten gör jag det med "ssh localhost", för det går att komma ihåg, men det har flera problem. (T.ex. kanske datorn redan vet sin egen nyckel, eller så vill dess lokala SSH använda en annan nyckel än den jag vill ha reda på.)

Så då gäller det att komma ihåg hur man får ut fingeravtrycket ur en nyckelfil (och för den delen var nyckelfilen ligger, vilket som sagt varierar). Jag blir tvungen att googla på det varje gång.

ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub

Såklart. (Och ja, googla. Man hittar inget om det i "man ssh".)

Det finns mer saker jag vill klaga på, men det här är långt nog, så vi tar det i kortform:

Tveklöst har jag glömt minst en sak jag stör mig relativt ofta på.


Föregående    Nästa