Bir ana bilgisayar anahtarının değiştiğini bildiğinizde, known_hosts içindeki bilgileri güncellemenin kolay bir yolu var mı?


38

Eğer bir ana bilgisayarın işletim sistemi yeniden kurulmuşsa ve genel anahtarı yeniden oluşturulmuşsa, yeni anahtar eskiyle eşleşmediğinden elbette başarısız olacaktır.

Ssh, ana bilgisayarın anahtarının değiştiğini ve güncellenmesini istediğinizi bildiğinizi söylemenin daha kolay bir yolu var mı? Ben bir metin editörü ya da rahatsız edici çizgiyi kaldırmak için sed gibi bir şey kullanmak için biraz eğilimli hissediyor düşünüyorum.


Bu , süper kullanıcı hakkındaki bir soruyu kopyalar . Daha ayrıntılı bilgilere bakınız.
Yitz

Yanıtlar:


59

Ana ssh-keygen -R hostnamebilgisayar adını known_hosts dosyanızdan kaldırmak için kullanın . Bir sonraki bağlanışınızda, yeni ana bilgisayar anahtarı known_hosts dosyanıza eklenir.


12
TARGET_HOST=[hostname or IP]

# Remove the old key(s) from known_hosts
ssh-keygen -R $TARGET_HOST

# Add the new key(s) to known_hosts (and also hash the hostname/address)
ssh-keyscan -H $TARGET_HOST >> ~/.ssh/known_hosts

Bağlanmak dahaki sefere bağlayacağız olmadan isteniyor Are you sure you want to continue connecting (yes/no)?anahtarları zaten içinde olacağından known_hostsdosyada.


1
ayrıca bakınız StrictHostKeyChecking ~ / .ssh / config
Jeff Schaller

1
Farklı bir değişken ismi kullanırdım .... HOST bazı ana bilgisayarlara kendi host adınızı veriyor, bu yüzden değiştirmemeyi tercih ederim (birinin daha sonra çıkabileceğini veya bir alt kabuktan yapabileceğini biliyorum ama yine de neden olmasın thehostyerine falan bir ALLCAPS değişken ayrılmış iç adla çarpıştırabiliyordu smallcase isimler olmamalı)?...
Olivier Dulac

Bilinen_host'lardaki bu anahtarlar, | 1 | ile başlayan bazı şeyler tarafından eklenmiştir. Bu şey, bu yöntemle dosyaya eklenmedi mi, yoksa yanlış mıyım? Aradaki fark nedir, çünkü ssh-keyscan'ın döndürdüğü şey | 1 |
Daniel F,

1
(@ DanielF +) karma format kullanıyorsanız ve anahtar (lar) ı sshana bilgisayar adı ve adresi için ayrı girişler ssh-keygen -R
içeriyorsa
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.