Soru Geçici olarak `~ / .ssh / known_hosts` dosyam görmezden mi geliyorsunuz?


Geçici olarak görmezden gelmenin bir yolu var mı ~/.ssh/known_hostsdosya?

mbp:~ alexus$ ssh 10.52.11.171
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /Users/alexus/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/alexus/.ssh/known_hosts:155
RSA host key for 10.52.11.171 has changed and you have requested strict checking.
Host key verification failed.
mbp:~ alexus$ 

NOT:

.. Birkaç cevap (lar) / yorum (lar) ile sorumun biraz yanıltıcı olduğunu anlıyorum, o kadar kısa ki beklenen davranış), yani normal (benim durumumda) "Neden görmezden geldiğimi görmek istiyorum" nedeninin arkasında geçerli bir sebep var.)


38
2017-12-07 20:06


Menşei


Yanlış soruyu soruyorsun. Sorunu "göz ardı etmemelisiniz"; Neler olup bittiğini öğrenmeli ve çözmelisin. - Michael Hampton♦
Bu beklenen davranış neden? - Thorbjørn Ravn Andersen
Kullanıcı için konuşamıyorum, ancak örnek olarak, yinelenen iş akışınızın oluşturma, bağlantı kurma, test etme, oluşturma işlemini değiştirmeyi ve yeniden yapılandırmayı içeren otomatik bir yükleme işlemi (kickstart gibi) geliştirdiğiniz bir durum söz konusu olacaktır. tekrar tekrar çizik. - Goladus
@MichaelHampton - VMware ve VirtualBox, misafirler için IP adreslerini geri dönüştürdüğü için bunu her zaman alırım. Benim için doğru soru bu :) - jww
FWIW Bu cevabı aramaya devam ediyorum çünkü LAN'ımda, açılış sırasında disk şifreleme şifresini girmek için bir dropbear (farklı bir ana bilgisayar anahtarıyla) kullandığım bir sistemim var. - Zulan


Cevaplar:


Kullanabilirsiniz ssh -o StrictHostKeyChecking=no kontrolü kapatmak için known_hosts anlık olarak. Ama buna karşı tavsiye ederim. Ana bilgisayar anahtarının neden değiştiğini gerçekten kontrol etmelisiniz.

Başka bir seçenek, belirli bir girişi ~/.ssh/config söz konusu ana bilgisayar için. Yeniden başlatıldığında yeni ana bilgisayar anahtarları üreten belirli bir ana makineye sahipseniz ve geçerli bir nedenden dolayı günde birkaç kez yeniden başlatılırsa, bu geçerli bir yaklaşım olabilir.

Host <your problematic host>
  StrictHostKeyChecking no

50
2017-12-07 20:08



Bu beklenen davranışdır) yani normal (benim durumumda) - alexus
@alexus "Bekleniyor" ise, seçeneği, olmasını beklediğiniz belirli bir ana makine adına / IP'ye uygulayabilirsiniz. - chrylis
@alexus Ve bunu yaparsanız, ssh'in sağladığı tüm korumayı kaybedeceğinizi unutmayın. Telnet kullanıyor olabilirsiniz, çünkü MITM size birisinin önem vereceği ve tüm trafiğinizi yakalayacağınız için. - Michael Hampton♦
Tek harfli yazım hatası: tavsiye bir isimdir; fiil formunu istiyorsun öğüt vermek. - TRiG
Bu artık çalışmıyor (en azından OpenSSH_5.3p1 için) - draeath


POSIX ortamında bilinen ana dosyalarınızı tamamen yok saymak için, GlobalKnownHostsFile ve UserKnownHostsFile seçenekleri /dev/null:

ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null user@host

ayarlamak StrictHostKeyChecking=no seçeneği bağlanmanıza izin verecek ancak SSH hala bir uyarı gösterecek:

ssh -o StrictHostKeyChecking=no user@host

Diğerlerinin de belirttiği gibi, temeldeki sorunu ele almak daha iyi olabilir. Düşünebilirsin SSH sertifika kimlik doğrulaması Örneğin, ana makineleri doğrulamak için


25
2018-04-14 20:07



Bu şu andan daha iyi bir cevap olabilir en yüksek oy alan aksi halde devre dışı bırakılacak olan parola kimlik doğrulamasına izin verdiğinden (elbette, parolanıza yazmadan önce tam olarak ne yaptığınızı anlamalısınız ...) - VZ.


Sunucuyu yeniden yüklediyseniz ve bu nedenle Kimlik değiştiyse, belirtilen satırı (155) silmeniz gerekir. /Users/alexus/.ssh/known_hosts ve devam et.

Farklı özel ağlar arasında geçiş yaparsanız, bunun yerine bağlanmak için ana bilgisayar adlarını kullanmalısınız, çünkü ssh istemcisi de ana makine adına bağlı olarak anahtarları kaydedecektir. Buna benzer bir şey ekleyin /etc/hosts:

10.52.11.171 server1
10.52.11.171 server2

ve sonra kullan ssh server1 alt ağa 1 bağlandığında ve ssh server2 alt ağa bağlandığında. Bu şekilde, her iki sunucu da farklı ana bilgisayarlara sahip olabilir.


4
2017-12-07 22:33



İki özel ağ arasında geçiş yapar ve iki aynı IP'ye bağlanırsanız ne olur? - alexus
Cevabımı düzenledim. - etagenklo
@alexus O zaman IPv6'ya ihtiyacınız var :) Ama asıl sorunuzda bu yararlı bilgiler olurdu. - Michael Hampton♦


-o StrictHostKeyChecking=no yalnızca, hostun unknown_hosts dosyasında bulunmaması durumunda çalışır.

Ana bilgisayarların vm klonlaması nedeniyle anahtarın değişmesini beklerseniz, bu tür ana bilgisayarların göz ardı edilmesini zorunlu kılmak için temiz (uyarı yok) olduğunu düşünüyorum:

# Handle possible SSH key changes
host_key=$(ssh-keyscan -t rsa ${host_ip})
grep "${host_key}" ~/.ssh/known_hosts >/dev/null || {
    ssh-keygen -R ${host_ip}
    echo ${host_key} >>  ~/.ssh/known_hosts
}

# connect as normal way
ssh root@${host_ip} "hostname"

1
2017-10-23 15:57





Bazı insanlar bunun doğru olmadığını söylüyor, bunu yapmıyorsunuz, ama yine de gömülü cihazların birkaçını tekrar tekrar test etmem gerekiyor. Devre dışı bırakmalısın StrictHostKeyChecking=no, bu doğru, ama aynı zamanda bilinen ana bilgisayar dosyasını sıfırlamak /dev/null. İşte autologin ile bir örnek ve ps uzak cihazda.

sshpass -p pass ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host 'ps ax'

1
2018-06-28 07:27





Tüm sunucularınıza (ve RedHat) giriş yapın rm -f /etc/ssh/ssh_host_* ve ardından SSHD'yi yeniden başlatın.

Bu, göz ardı edilmesine gerek olmayan yeni SSH ana bilgisayar anahtarları oluşturacaktır.

SSH anahtarlarının birden fazla sunucuda klonlandığı yalnızca bir örnek düşünebilirim, aynı zamanda herhangi bir uyarı da atmaz. Bir A kaydının katları. A kaydına sahip tüm ana bilgisayarlar aynı anahtara sahipler.


-2
2018-04-14 21:15



Bu cevap yanlış. Parmak izi, istemcide yereldir. - 89c3b1b8-b1ae-11e6-b842-48d705