Tezko hadat, kdyz nereknete distribuci, ale klice by se jen tak samy od sebe pregenerovavat nemely {i kdyz snad v Ubuntu bylo soucasti patche testovatko slabosti klicu, takze je mozne, ze vam to hezky windowsacky pregeneroval - ale podrobneji jsem jejich ohlaseni neprohlizel).
Distribuci jsem snad udal. Přesněji ještě Ubuntu 7.10. Neměl jsem problém s přihlášením... jen mi putty vypsalo že má server jiný klíč než pod kterým ho znalo do teď.
Součástí updatu v Ubuntu je automatický „přegenerátor“ klíčů. Zkuste se mrknout do /var/log/dpkg.log, jestli tam je instalace balíčků open{ssl,ssh,vpn}-blacklist, které tohle dělají.
No ten update napíše: V některých klíčích byl problém a proto byly přegenerovány (plus seznam klíčů), ale na nic se neptá. Nějak to Ubuntu začíná windowsovatět :)
Dneska do ubuntu přišla oprava. Vypíše to varování a informuje o novém nástroji, který umí zkontrolovat, jestli je daný klíč OK nebo ne.
Ale teda nepřihlásil jsem se do VPN, protože ten klíč byl kompromitovaný a openvpn to teď kontroluje. Řekl jsem tedy adminovi o nový klíč. Jak bych to obcházel ale, přiznám se, nevím.
Tyhle základní balíky jdou přímo z Debianu, vývojáři ubuntu nemají potřebu tam nic měnit. A jestli windowsovatí Debian, tak to bych fakt neřekl :-)
Sam ted resim upgrady SSH, SSL a spol a delam to rucne. Pokud server zjisti, ze klic je backlistovan, nabidne uzivateli regeneraci (ktera, pokud jsem si vsiml, nejde obejit), kazdopadne to nedela bez vedomi uzivatele. Ovsem zde zalezi na tom, jaky level dotazu mate nastaveny u dpkg. Pokud je tam "na nic se neptat", nedivte se, ze vam Debian/Ubuntu klice pregeneruje a ve vypisu si toho nevsimnete. A pokud server spravuje nekdo jiny a vy na nem mate jen ucet, rozhodne by bylo slusne, kdyby vam dal o zmene klice zpravu. Pokud vam ji neda, vysledek je asi jasny.
A jeste ktomu VPN. Obejit to jde, openVPN proste jen vola ten chceckovaci nastroj a podle jeho vysledku bud povoli nebo zakaze pristup. Pokud si "hacknete" svuj system a ten checkovaci nastroj nahradite necim, co vraci true, projde to. Tohle ale doporucuju jen jako nouzovku, pokud je nutne stary klic pouzit k tomu, abyste ho nahradili novym.
Když SSH server míval zranitelný klíč, kdokoliv se mohl vydávat za něj, tedy veřejný klíč neplnil svou funkci, tedy jako by nebyl. V takovém případě když SSH klient detekuje změnu veřejného klíče, neměl by řvát a jen se zeptat jestli uživatel důvěřuje novému klíči. (Samozřejmě se nedá očekávat že tuto situaci budou rozpoznávat SSH klienti ne-debianího původu.)
Nejsem si 100% jistý příčinou, ale mám dojem že se mi na debianu stalo to samé, změnil se mi klíč (zřejmě při aktualizaci) a já se pak nemohl vzdáleně přihlásit.