mystery ssh

Noah Williamsson noah at hd.se
Thu Aug 24 12:30:24 CEST 2006


BSD Users Sweden <bus at stacken.kth.se> on torsdag 24 augusti 2006 at 11.52 +0000 wrote:
>tor 2006-08-24 klockan 09:53 +0200 skrev Noah Williamsson:
>> BSD Users Sweden <bus at stacken.kth.se> skrev den 24 augusti 2006
>> klockan 09:05 +0000:
>> Trost att jag tog backup på de befintliga ssh host nycklar,
>> installerade
>> openssh-4.3.p2 från ports och kopierade in de gamla ssh host nycklar
>> tillbaks(/etc/ssh/) och till /usr/local/etc/ssh får jag "WARNING:
>> REMOTE
>> HOST IDENTIFICATION HAS CHANGED!" när jag loggar in från en annan
>> maskin. Har alldrigt råkat ut för det. 
>> Hur kan det bli så?
>> 
>> Alldeles säkert för att hostkeyn har ändrats.
>> 
>
>Skummt. 
>Läste in hostkes från en äldre backup men får samma "fel". Ja, jag
>laddar om sshd efter varje ändring, mm. Jag kan se att nyklarna de samma
>både på servern och clienten. 
>Kom ihåg nu något jag läste om att md5 hashen kan ge vara olika mellan
>olika versioner och plataformar. Om fingerprinten bygger på ett md5 hash
>kan det vara förklarningen. Jag lutar att tro att openssh 3.x och
>openssh 4.x kör olika algiritm för att kontrollera hostkeys.
>
Du tänker nog på en bugg med HMAC-implementation (som kunde använda MD5 som hashalgoritm) som fanns i OpenSSH <= 2.3.
HMAC används för att garantera dataintegriteten mellan klient och servern och har, så vitt jag förstår, ingenting med det initiala nyckelutbytet att göra.

Jag tror inte riktigt på den förklaringen att ossh3 och 4 skulle vara inkompatibla på det viset.
Själv har jag aldrig haft problem med uppgradering från 3 till 4 i alla fall och rent spontant så verkar det hela orimligt.

>För var annars i systemet kan hostkey(s) lagras? sshd_config och
>opnessh.sh pekar ju på samma filer.

Ingenstans. De ligger i vad nu --sysconfdir sattes till när du installerade OpenSSH.
Ofta är det /etc/ssh.

Där finns tre par public/private keys.
För SSH1 heter RSA-nycklarna ssh_host_key*.
För SSH2 heter RSA-nycklarna ssh_host_rsa_key* och DSA-nycklarna ssh_host_dsa_key*.

Om du är säker på att allting står rätt till på serversidan så är det kanske fel i din klientmaskin's /etc/ssh/known_hosts eller ~/.ssh/known_hosts.
Du sshar kanske till ett hostname/IP-adress som du inte gjorde före uppgraderingen och för den adressen finns det kanske en gammal cachad hostkey för en server som inte är den du sshar till nu..?
Eller så har du en gammal SSHv2 hostkey i din known_hosts i kombination med att du alltid använde SSHv1 när du sshade mot masklinen tidigare, men nu efter uppgraderingen så blir det SSHv2? 

Har du fler maskiner med cachad hostkey på så föreslår jag att du provar ssha från dem istället och ser om du får samma fel där.

//noah

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.stacken.kth.se/pipermail/bus/attachments/20060824/012a85f7/attachment.html


More information about the BUS mailing list