CH-J Server Managerуправление на сървъри над SSH
Меню
Всички ръководства и статии →

Променен SSH хост ключ: какво означава предупреждението и как да постъпите

Разберете защо сървърът представя нов хост ключ, проверете го по друг канал и безопасно заменете запазения запис.

Какво съобщава предупреждението

Сървърът доказва самоличността си с хост ключ. Когато ключът се различава от запазения по-рано от клиента ви, OpenSSH показва REMOTE HOST IDENTIFICATION HAS CHANGED и отказва връзката. Клиентът не може да различи безобидна промяна от атака, затова смятайте предупреждението за неизяснено, докато не го проверите.

Чести причини

Обичайните причини са преинсталиран сървър, виртуална машина, възстановена или клонирана от образ, адрес, вече присвоен на друга машина, и балансьор на натоварването, който ви насочва към различни възли. Нападател, който прихваща връзката, предизвиква същото предупреждение. Ако не сте очаквали промяна, спрете и не въвеждайте парола.

Сравнете отпечатъците

Прочетете действителния отпечатък на сървъра по канал, който не зависи от тази SSH връзка, например през конзолата на доставчика или на хипервайзора. Командата ssh-keyscan показва само какво ви представя мрежата, така че сама по себе си не доказва нищо. Полезна е единствено за сравнение със стойността от конзолата.

sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

ssh-keyscan -t ed25519 server.example | ssh-keygen -lf -

Заменете стария запис

Едва след като отпечатъците съвпаднат, премахнете стария запис и се свържете отново. Нестандартният порт има собствен запис с квадратни скоби. ssh-keygen запазва предишния файл като known_hosts.old. Не изключвайте StrictHostKeyChecking и не изтривайте целия файл known_hosts, защото това премахва защитата за всичките ви сървъри.

ssh-keygen -R server.example
ssh-keygen -R '[server.example]:2222'
ssh user@server.example

Избягване на предупреждението след преинсталация

Ако планирате да преинсталирате сървър и искате да запазите самоличността му, архивирайте сигурно хост ключовете в /etc/ssh и ги възстановете със същия собственик и права за достъп. При клониране направете обратното: всяка машина, създадена от един образ, се нуждае от собствени хост ключове, иначе няколко сървъра споделят една самоличност.

Хост ключове в CH-J Server Manager

Приложението съхранява SHA-256 отпечатъци на хост ключовете в шифрованото си хранилище, отделно от файла known_hosts на OpenSSH. При промяна блокира връзката и показва познатия и новия отпечатък. Записът се заменя само ако потвърдите, а отказът не променя нищо. В Alpha 0.1.1 проверката обхваща и всеки междинен сървър, а текущото прехвърляне спира при промяна на ключа. Приложението не може да провери новия отпечатък вместо вас, затова проверката по друг канал остава ваша задача.

Подробна документация

OpenSSH: ssh →

OpenSSH: ssh-keygen →

Биометрични отключване и сигурност →