known_hosts
Dosyaya "güvenli" bir anahtar eklemenin en önemli kısmı , anahtar parmak izini sunucu yöneticisinden almaktır. Anahtar parmak izi şöyle görünmelidir:
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
GitHub durumunda, normalde doğrudan bir yöneticiyle konuşamayız. Ancak, anahtarı web sayfalarına koydular, böylece bilgileri oradan kurtarabiliriz.
Manuel anahtar kurulumu
1) Anahtarın bir kopyasını sunucudan alın ve parmak izini alın. Not: Parmak izini kontrol etmeden önce bunu yapın .
$ ssh-keyscan -t rsa github.com | tee github-key-temp | ssh-keygen -lf -
# github.com:22 SSH-2.0-babeld-f3847d63
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
2) Anahtar parmak izinin bir kopyasını sunucu yöneticisinden alın - bu durumda github.com'daki bilgileri içeren sayfaya gidin
- Github.com adresine gidin
- Git yardım sayfası (giriş yapmış ise sağdaki menüde; ana sayfasının altındaki aksi de).
- In Başlarken bölümüne gidin SSH ile GitHub'dan bağlanma
- SSH bağlantınızı test etme sayfasına gidin
- SHA256 parmak izini daha sonra kullanmak üzere o sayfadan metin düzenleyicinize kopyalayın.
3) İki kaynaktan gelen anahtarları karşılaştırın
Bir metin düzenleyicide doğrudan üst üste yerleştirerek, bir şeyin değişip değişmediğini görmek kolaydır
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA) #key recovered from github website
2048 SHA256:nThbg6kXUpJ3Gl7E1InsaspRomtxdcArLviKaEsTGY8 github.com (RSA) #key recovered with keyscan
(İkinci anahtarın manipüle edildiğini, ancak orijinaline oldukça benzediğini unutmayın - böyle bir şey olursa ciddi bir saldırı altındasınız ve güvenilir bir güvenlik uzmanıyla görüşmelisiniz.)
Anahtarlar farklıysa prosedürü iptal edin ve bir güvenlik uzmanıyla iletişim kurun
4) Anahtarlar doğru bir şekilde karşılaştırılırsa, önceden indirdiğiniz anahtarı yüklemelisiniz
cat github-key-temp >> ~/.ssh/known_hosts
Veya bir sistemdeki tüm kullanıcılar için (root olarak) yüklemek için:
cat github-key-temp >> /etc/ssh/ssh_known_hosts
Otomatik anahtar kurulumu
Bir oluşturma işlemi sırasında bir anahtar eklemeniz gerekiyorsa, yukarıdaki manuel işlemin 1-3 adımlarını izlemelisiniz.
Bunu yaptıktan sonra github-key-temp
dosyanızın içeriğini inceleyin ve bu içerikleri bilinen hosts dosyanıza eklemek için bir komut dosyası oluşturun.
if ! grep github.com ~/.ssh/known_hosts > /dev/null
then
echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> ~/.ssh/known_hosts
fi
Artık gerektiğini kurtulmak herhangi ssh
komutların StrictHostKeyChecking
devre dışı.