<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title></title>
<style type="text/css">
<!--
body{margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px;}
-->
</style>
</head>
<body marginleft="10" marginright="10" margintop="10" marginbottom="10">
<font face="Geneva" size="+0" color="#000000" style="font-family:Geneva;font-size:10pt;color:#000000;"><b>BSD Users Sweden <bus@stacken.kth.se> on torsdag 24 augusti 2006 at 11.52 +0000 wrote:<br />
</b></font><span style="background-color:#d0d0d0;"><font face="Geneva" size="-1" color="#000000" style="font-family:Geneva;font-size:9pt;color:#000000;">tor 2006-08-24 klockan 09:53 +0200 skrev Noah Williamsson:<br />
> BSD Users Sweden <bus@stacken.kth.se> skrev den 24 augusti 2006<br />
> klockan 09:05 +0000:<br />
> Trost att jag tog backup på de befintliga ssh host nycklar,<br />
> installerade<br />
> openssh-4.3.p2 från ports och kopierade in de gamla ssh host nycklar<br />
> tillbaks(/etc/ssh/) och till /usr/local/etc/ssh får jag "WARNING:<br />
> REMOTE<br />
> HOST IDENTIFICATION HAS CHANGED!" när jag loggar in från en annan<br />
> maskin. Har alldrigt råkat ut för det. <br />
> Hur kan det bli så?<br />
> <br />
> Alldeles säkert för att hostkeyn har ändrats.<br />
> <br />
<br />
Skummt. <br />
Läste in hostkes från en äldre backup men får samma "fel". Ja, jag<br />
laddar om sshd efter varje ändring, mm. Jag kan se att nyklarna de samma<br />
både på servern och clienten. <br />
Kom ihåg nu något jag läste om att md5 hashen kan ge vara olika mellan<br />
olika versioner och plataformar. Om fingerprinten bygger på ett md5 hash<br />
kan det vara förklarningen. Jag lutar att tro att openssh 3.x och<br />
openssh 4.x kör olika algiritm för att kontrollera hostkeys.<br />
<br />
</font></span><font face="Geneva" size="+0" color="#000000" style="font-family:Geneva;font-size:10pt;color:#000000;">Du tänker nog på en bugg med HMAC-implementation (som kunde använda MD5 som hashalgoritm) som fanns i OpenSSH <= 2.3.<br />
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.<br />
<br />
Jag tror inte riktigt på den förklaringen att ossh3 och 4 skulle vara inkompatibla på det viset.<br />
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.<br />
<br />
</font><span style="background-color:#d0d0d0;"><font face="Geneva" size="-1" color="#000000" style="font-family:Geneva;font-size:9pt;color:#000000;">För var annars i systemet kan hostkey(s) lagras? sshd_config och<br />
opnessh.sh pekar ju på samma filer.<br />
</font></span><font face="Geneva" size="+0" color="#000000" style="font-family:Geneva;font-size:10pt;color:#000000;"><br />
Ingenstans. De ligger i vad nu --sysconfdir sattes till när du installerade OpenSSH.<br />
Ofta är det /etc/ssh.<br />
<br />
Där finns tre par public/private keys.<br />
För SSH1 heter RSA-nycklarna ssh_host_key*.<br />
För SSH2 heter RSA-nycklarna ssh_host_rsa_key* och DSA-nycklarna ssh_host_dsa_key*.<br />
<br />
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.<br />
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..?<br />
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? <br />
<br />
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.<br />
<br />
//noah</font>
</body>
</html>