GNU/Linux >> Znalost Linux >  >> Linux

Jak opravit problematický klíč v souboru ~/.ssh/known_hosts

Jak jsme probrali dříve v našem článku o základních příkazech klienta ssh, když poprvé provedete ssh na počítači (nebo kdykoli dojde ke změně klíče na vzdáleném počítači), budete vyzváni, abyste řekli „ano“ pro pravost hostitele. .

Tato funkce se ovládá pomocí parametru ssh StrictHostKeyChecking. Ve výchozím nastavení je StrictHostKeyChecking nastaveno na ano.

Výchozí nastavení „StrictHostKeyChecking ano“ je z bezpečnostního hlediska nejlepší volbou pro ochranu vašeho systému před jakýmikoli útoky trojských koní. Pokud nevíte, co děláte, nenastavujte StrictHostKeyChecking na ne.

Někdy může být dobré jej dočasně deaktivovat. Například, když se poprvé připojujete k mnoha známým hostitelům, možná budete chtít tuto funkci zakázat (tj. požádat ano o hostitelské klíče) a nechat ssh automaticky přidat všechny hostitelské klíče. Později můžete tuto funkci aktivovat.

Když jste pro server nakonfigurovali automatické přihlašování bez hesla a pokud se klíč vzdáleného hostitele z nějakého důvodu neustále mění (abyste věděli, proč se mění), můžete zvážit nastavení StrictHostKeyChecking na ne, dokud se problém s klíčem vzdáleného hostitele stále nezmění. opraveno.

Z příkazového řádku ssh můžete předat možnost StrictHostKeyChecking, jak je znázorněno níže. Tuto možnost můžete také nastavit v souboru ssh_config

# ssh -o 'StrictHostKeyChecking no' user@host

Pokud se k serveru přihlašujete poprvé, bude RSA trvale přidáno do seznamu známých hostitelů bez výzvy .

Pokud však dojde ke změně klíče (obvykle pokud je operační systém (nebo sshd) přeinstalován, klíč vzdáleného hostitele se změní), musíte starý neplatný klíč odstranit, jak je uvedeno níže.

Odstraňte problematický klíč ssh

Když se klíč vzdáleného hostitele změní (poté, co jste se dříve připojili pomocí platného klíče vzdáleného hostitele), zobrazí se následující chyba.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
a7:a8:f2:97:94:33:58:b7:9d:bc:e0:a6:6b:f7:0a:29.
Please contact your system administrator.
Add correct host key in /home/ramesh/.ssh/known_hosts to get rid of this message.
Offending key in /home/ramesh/.ssh/known_hosts: 6
Permission denied (publickey,password).

Chcete-li pokračovat dále, musíte klíč vyjmout. K odstranění problematického klíče použijte následující příkaz.,

# sed -i '6d' ~/.ssh/known_hosts

Poznámka :Změňte 6d podle zobrazeného čísla řádku.

Pokud váš sed nemá volbu -i, použijte perl nebo pomocí nějakého editoru odstraňte problematický klíč.

Řešení v Perlu:

# perl -pi -e 's/\Q$_// if ($. == 6);' ~/.ssh/known_hosts

Poznámka :Změňte číslo řádku z 6 na příslušné číslo řádku.


Linux
  1. Jak nastavit klíče SSH

  2. [Linux]:Jak hashovat soubory známých hostitelů z adresáře ~/.ssh/

  3. Ssh – předávání hesel do skriptu?

  1. Jak nastavit klíče SSH na Ubuntu 18.04

  2. Jak opravit chybu „Ověření klíče hostitele se nezdařilo“

  3. Jak zastavit přidávání IP z EC2 do známých_hostitelů pro ssh?

  1. Jak nastavit přihlášení k SSH bez hesla

  2. SSH - Jak zahrnout příkaz -t do souboru ~/.ssh/config

  3. upozornění na problematické klíče při připojení pomocí ssh k mému VPS