Jak zabránit zprávám o IDENTIFIKACI VZDÁLENÉHO HOSTU ZMĚNĚNO

Je možné zabránit následující zprávě o: (IDENTIFIKACE VZDÁLENÉHO HOSTU ZMĚNĚNO)

Při použití pouze této syntaxe připojení

 ssh xxx.xxx.xxx.xxx 

příklad varovné zprávy:

 ssh 10.19.11.1 CentOS release 5.8 (Final) Kernel 2.6.18-308.el5 on an i686 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ 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 dd:6f:32:8f:8f:8c:70:9c:95:f1:48:83:60:97:cc:ed. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending key in /root/.ssh/known_hosts:7 RSA host key for 10.19.11.1 has changed and you have requested strict checkin. Host key verification failed. 

pokaždé, když dostanu tuto zprávu, vyčistím /root/.ssh/known_hosts

jako

 cp /dev/null /root/.ssh/known_hosts 

Byl jsem také přemýšlet o nastavení příkazu cp / dev / null /root/.ssh/known_hosts v crontabu,

takže každý den ve 24:00 vyčistí soubor known_hosts (toto řešení tento problém zmenší, ale nevyřeší) )

takže toto řešení není tak dobré řešení, protože uživatel může obdržet varovnou zprávu, přestože každý den vyčistíme soubor known_hosts

možná můžeme něco udělat na / etc / ssh / ssh_config, aby se zabránilo kontrole klíče hostitele SSH?

poznámka:

Nechci použít následující metodu provést kontrolu klíče hostitele SSH (protože používám odraz / tmel)

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [email protected] 

Trvám na tom, abych používal pouze tuto syntaxi jako

 ssh xxx.xxx.xxx.xxx 

pro připojení

Komentáře

  • Jednoduše řečeno: don ' nedělej to. Přečetli jste si toto varování vůbec? Toto varování má svůj důvod. A má vás chránit před poškozením MitM útokem a dalšími špatnými věcmi.

Odpověď

Aktualizace: V dnešní době můžete používat certifikáty SSH podobné TLS certifikáty. Potom můžete přidat položku known_hosts, která důvěřuje certifikátu spíše než jednotlivým klíčům, a tuto zprávu už nikdy nedostanete.


Všímejte si upozornění @ 0xC0000022L !

Pokud víte klíč hostitele se změnil , můžete tuto konkrétní položku odebrat ze souboru known_hosts:

ssh-keygen -R xxx.xxx.xxx.xxx 

Je to mnohem lepší než přepsat celý soubor hostitelů (což lze provést pouze > /root/.ssh/known_hosts).

Pokud nechcete použít ssh možnosti příkazového řádku, domnívám se, že jediným dalším způsobem, jak to udělat, by bylo upravit SSH kód a překompilovat ho. Které opravdu nechci to dělat!

Komentáře

  • ale chci to udělat automaticky, když si na to uživatel stěžuje, já Nechcete to udělat ručně
  • Nechcete ' to udělat ručně (odebrat g known_hosts záznamů) a nechcete ' to dělat automaticky (pomocí ssh možnosti). Jak to potom chcete udělat?
  • @ l0b0 Tím, že dáte možnost příkazového řádku potlačit funkci. V některých prostředích, jako jsou prostředí virtuálních strojů a další velmi dynamické konfigurace (zejména testovací prostředí), se tyto klíče hostitele často mění, a protože jsou v izolované síti, lze při kontrole získat jen malé zabezpečení. Pokaždé, když musíte udělat ssh-keygen -R, je to nepříjemné. Předpokládám, že by bylo možné napsat shell pro ssh, shell skript, který analyzuje cílovou adresu a před odebráním klíče před předáním možností ssh, ale zdá se to být přehnané.

Odpověď

krok 1: odstranění chybného klíče

 ssh-keygen -R 192.168.1.1 

krok 2: přidání nového klíče

 ssh-keyscan 192.168.1.1 >> ~/.ssh/known_hosts 

nebo podle vaší situace

 > ~/.ssh/known_hosts ssh-keyscan 192.168.1.1 192.168.1.2 ... >> ~/.ssh/known_hosts 

Komentáře

  • -1 za poskytnutí střelné zbraně bez varování.
  • @ l0b0 dost fér, vaše cti!

odpověď

Při připojování k jednorázovým virtuálním strojům nebo takovým klíčům byste raději neměly ukládat klíče.

Vytvořte ssh0 alias nebo funkce s následujícím obsahem:

alias ssh0="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=ERROR" 

Tímto způsobem neznečistíte své ~/.known_hosts soubor s odpadky, a protože používáte jiný příkaz, vznikl by psychologický hranice mezi „skutečným“ ssh a tím, který se používá k vybavení nějakého místního widgetu.

Další užitečný alias je

alias sshy="ssh -o CheckHostIP=no" 

pro „připojuji se k zařízení, které často mění svou IP, jako např. domácí směrovač, kterému ISP přiřadí jinou IP při každém jeho napájení.

Komentáře

  • Perfektní odpověď na to!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *