Saya telah menginstal ulang server saya dan saya menerima pesan-pesan ini:
[user@hostname ~]$ ssh root@pong
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
6e:45:f9:a8:af:38:3d:a1:a5:c7:76:1d:02:f8:77:00.
Please contact your system administrator.
Add correct host key in /home/hostname /.ssh/known_hosts to get rid of this message.
Offending RSA key in /var/lib/sss/pubconf/known_hosts:4
RSA host key for pong has changed and you have requested strict checking.
Host key verification failed.
Saya telah mencoba berbagai solusi yang saya temukan di Internet. known_hosts
File saya (biasanya dalam ~/.ssh/known_hosts
) ada di /var/lib/sss/pubconf/known_hosts
. Saya sudah mencoba mengeditnya, tetapi tetap dalam satu keadaan. Saya telah menginstal ipa-client dan memiliki Fedora 19. Bagaimana cara mengatasi peringatan ini?
Semua jawaban yang dijawab sejauh ini hanya berfungsi jika Anda tidak menginstal Freeipa.
Jawaban yang tepat untuk freeipa dalam komentar di bawah dari adrin ada di sini .
ssh
verification
ipa
man-in-the-middle
Filip Dobrovolný
sumber
sumber
Jawaban:
Inilah solusi paling sederhana
Sebagai contoh,
Dari
ssh-keygen
halaman manual :-R hostname
Menghapus semua kunci milik nama host dari file diketahui_hosts. Opsi ini berguna untuk menghapus host hash (lihat opsi -H di atas).sumber
ssh-keygen -R [127.0.0.1]:3022
. Cukup periksa file .ssh / known_hosts Anda untuk mengetahui apa yang dikatakannya secara eksplisit.Menggunakan
Contoh dengan alamat ip / nama host adalah:
Ini akan memperbarui kesalahan host Anda dari the known_hosts. Anda juga dapat memberikan path dari diketahui_hosts dengan flag -f.
sumber
$ ssh-keygen -R {server.name.com}
|$ ssh-keygen -R {ssh.server.ip.address}
|$ ssh-keygen -R server.example.com
Saya memiliki kesalahan yang sama ini terjadi setelah saya membuat ulang gambar Digital Ocean Ubuntu. Saya menggunakan perintah berikut dengan IP server saya di tempat
[IP_ADDRESS]
sumber
Ketika Anda menginstal ulang server, identitasnya berubah, dan Anda akan mulai mendapatkan pesan ini. Ssh tidak memiliki cara untuk mengetahui apakah Anda telah mengubah server yang terhubung, atau server-in-the-middle telah ditambahkan ke jaringan Anda untuk mengendus semua komunikasi Anda - sehingga hal ini menarik perhatian Anda.
Cukup hapus kunci dari known_hosts dengan menghapus entri yang relevan:
Ada
4d
di akunOffending RSA ...known_hosts:4
sumber
sed -i -e 4d /var/lib/sss/pubconf/known_hosts
identification
jika Anda ingin membangun kembali server tanpa menyebabkan gangguan seperti pesan kesalahan ini?Sledgehammer adalah untuk menghapus setiap host yang dikenal dalam satu gerakan:
Saya menghadapi hal ini karena kami menggunakan subnet kecil dari server yang berumur pendek dari kotak lompat, dan sering memiliki alamat IP internal menggunakan kembali server yang berbagi kunci ssh yang sama.
sumber
known_hosts
sebenarnya dimaksudkan untuk mencegah). Hanya lakukan ini jika Anda yakin bahwa semua host di sana aman.Masalahnya adalah bahwa Anda sebelumnya telah menerima koneksi SSH ke komputer jarak jauh dan sidik jari digital komputer atau kunci hash SHA256 telah berubah sejak Anda terhubung terakhir kali. Jadi ketika Anda mencoba SSH lagi atau menggunakan github untuk menarik kode, yang juga menggunakan SSH, Anda mendapatkan kesalahan. Mengapa? Karena Anda menggunakan alamat komputer jarak jauh yang sama seperti sebelumnya, tetapi komputer jarak jauh merespons dengan sidik jari yang berbeda. Oleh karena itu, ada kemungkinan seseorang memalsukan komputer yang sebelumnya Anda sambungkan. Ini adalah masalah keamanan.
Jika Anda 100% yakin bahwa komputer jarak jauh tidak dikompromikan, diretas, dipalsukan, dll. Yang perlu Anda lakukan adalah menghapus entri dalam file known_hosts Anda untuk komputer jarak jauh. Itu akan menyelesaikan masalah karena tidak akan ada lagi ketidakcocokan dengan ID sidik jari SHA256 saat menghubungkan.
Di Mac inilah yang saya lakukan:
1) Temukan jalur output yang bertuliskan
RSA host key for servername:port has changed and you have requested strict checking.
Anda akan membutuhkan nama server dan kemungkinan port dari output log itu.2) Cadangkan file host SSH yang dikenal
cp /Users/yourmacusername/.ssh/known_hosts /Users/yourmacusername/.ssh/known_hosts.bak
3) Temukan baris tempat sidik jari lama komputer disimpan dan hapus. Anda dapat mencari sidik jari komputer jarak jauh yang menyinggung tertentu menggunakan nama server dan port dari langkah # 1.
nano /Users/yourmacusername/.ssh/known_hosts
4) CTRL-X untuk berhenti dan memilih Y untuk menyimpan perubahan
Sekarang ketik
ssh -p port servername
dan Anda akan menerima prompt asli yang Anda lakukan saat pertama kali mencoba SSH ke komputer itu. Anda kemudian akan diberikan opsi untuk menyimpan sidik jari SHA256 yang diperbarui komputer jarak jauh itu ke file known_hosts Anda. Jika Anda menggunakan SSH melalui port 22 maka argumen -p tidak diperlukan.Masalah apa pun yang dapat Anda pulihkan file asli known_hosts:
cp /Users/yourmacusername/.ssh/known_hosts.bak /Users/yourmacusername/.ssh/known_hosts
sumber
ssh-keygen -R [IP_ADDRESS]
tidak berhasil untuk saya. Terima kasih!Seperti yang sudah banyak dikatakan, gunakan
ssh-keygen
, yaituJuga, Anda mungkin ingin mempertimbangkan untuk sementara waktu mematikan kunci host:
sumber
Host ???? CheckHostIP no StrictHostKeyChecking no
(3 baris, ditabulasikan mulai dari tanggal 2)Bekerja untukku!
Ini menunjukkan Anda memiliki kunci RSA yang menyinggung pada no. 4
Solusi 1 :
Solusi 2:
ATAU
Solusi 3:
Ini akan menghapus
4th
garis/root/.ssh/known_hosts
tempat (-i
).sumber
Saya menggunakan solusi mockinterface, meskipun sed -i tidak berfungsi, saya menyelesaikannya dengan menghapus garis dengan tangan dengan vim:
Anda dapat menggunakan editor teks lain yang Anda inginkan, tetapi mungkin Anda harus menunjukkan hak administratif Anda
sumber
Untuk pengguna Mac, Anda dapat menggunakan
-R
benderassh-keygen
perintah. Contoh cepat:THE_IP_ADDRESS
menjadi IP yang Anda coba ssh. Dan kemudian Anda dapat terhubung dengan baik.sumber
Ini karena pengaturan komputer jarak jauh Anda telah berubah. Hapus kunci Anda saat ini untuk itu.
vim /root/.ssh/known_hosts
Hapus garis IP yang Anda hubungkan.
sumber
Edit
/home/hostname /.ssh/known_hosts
, dan hapus 4 baris, dan simpan.Kemudian jalankan
ssh root@pong
lagi, Anda akan melihat pesan seperti iniAre you sure you want to continue connecting (yes/no)? yes
:, cukup cetakyes
.sumber
Jawaban lain di sini baik dan berfungsi, bagaimanapun, saya memecahkan masalah dengan menghapus
~/.ssh/known_hosts
. Ini tentu memecahkan masalah, tetapi mungkin itu bukan pendekatan terbaik.sumber
Dalam kasus saya itu terjadi karena saya sebelumnya memiliki koneksi ssh dengan mesin dengan ip yang sama (katakanlah 192.152.51.10) dan sistem sedang mempertimbangkan kunci RSA (disimpan di /home/user_name/.ssh/known_hosts) dari host sebelumnya yang menghasilkan tidak cocok.
Untuk mengatasi masalah ini, Anda harus menghapus kunci RSA yang tersimpan sebelumnya untuk ip 192.152.51.10 .
sumber
Solusi satu-liner sederhana, diuji pada mac:
Menghapus hanya target IP host ssh dari host yang tahu.
di mana 212.156.48.110 diganti dengan alamat IP host target.
Penyebab : Terjadi karena target IP sudah dikenal untuk mesin yang berbeda karena penerusan port. Menghapus IP target sebelum menghubungkan akan memperbaiki masalah.
sumber
Gunakan perintah ini:
sumber
Hapus entri itu dari known_hosts menggunakan:
Ini akan menghapus IP atau nama host yang bermasalah dari file known_hosts dan mencoba untuk menyambung kembali.
Dari halaman manual:
sumber
Kerjakan saja:
cd /home/user/.ssh/
-> di siniuser
akan menjadi nama pengguna Anda, yaitu/home/jon/
misalnya.Kemudian
gedit known_hosts &
dan hapus konten di dalamnya.Sekarang
ssh
lagi, itu seharusnya bekerja.sumber
Jika Anda mencoba untuk terhubung ke menjalankan buruh pelabuhan pada port 2222 dengan perintah dan Anda mendapatkan kesalahan
Kemudian untuk mengatasi masalah ini, pada komputer lokal Anda (mis. Mesin host bukan wadah) buka
cd ~/.ssh/
dan bukaknown_hosts
file dengan editor teks. Hapus baris yang dimulai dengan[localhost]:2222
dan simpan file. Sekarang coba ssh lagiKesalahan akan hilang tetapi Anda harus melakukannya setiap kali wadah restart.
sumber
Solusi saya adalah:
vi ~/.ssh/known_hosts
Ini lebih baik daripada menghapus semua
known_hosts
sumber
Hanya masalah sisi klien (kunci duplikat untuk ip):
Memecahkan varian:
Untuk menghapus satu ip (port default 22):
Untuk satu ip ( port non default ):
Hapus semua ips dengan cepat:
7.7.7.7 - ssh ip server Anda terhubung
333 - port non standart
sumber
Terkadang, jika karena alasan apa pun, Anda perlu menginstal ulang server, ketika menghubungkan dengan ssh, kami akan menemukan bahwa server Anda mengatakan bahwa identifikasi telah berubah. Jika kita tahu bahwa itu bukan serangan , tetapi bahwa kita telah memulihkan sistem, kita dapat menghapus identifikasi lama dari known_hosts menggunakan ssh-keygen:
Saat menghubungkan lagi, kami akan meminta Anda untuk memvalidasi sidik jari baru:
sumber
Saya punya masalah ini, dan alasannya sangat sederhana, saya memiliki alamat IP duplikat untuk ssh login, jadi setelah memodifikasi masalah ini, semua hal diselesaikan.
sumber
Saya memiliki kesalahan yang sama di mesin saya, dan saya menghapus
known_hosts
file, dan setelah itu, berfungsi dengan baik.sumber
authorized_keys
ketika Anda memiliki masalah denganknown_hosts
fileLARUTAN:
1- hapus dari "$ HOME / .ssh / known_hosts" baris yang merujuk ke host yang tidak dapat dihubungkan.
2- jalankan perintah ini: ssh-keygen -R "IP_ADDRESSorHOSTNAME" (gantikan "IP_ADDRESSorHOSTNAME" dengan ip tujuan Anda atau nama host tujuan)
3- Coba lagi koneksi ssh (jika gagal silakan periksa izin pada direktori .ssh, itu harus 700)
sumber
Solusi saya di UBUNTU (linux):
1. Anda harus menghapus konten dari file "known_hosts" yang ada di "/home/YOUR_USERNAME/.ssh/known_hosts"
2.Hasilkan kunci ssh baru seperti "ssh-keygen -t rsa -C" [email protected] "-b 4096"
3. Copy-paste kunci ssh baru Anda di repositori git Anda (gitlab dalam kasus saya) kunci SSH.
Ini bekerja untuk saya!
sumber
AWS EC2.
Temukan ip dalam pesan yang diberikannya kepada Anda.
Lari
Gunakan tombol panah untuk menemukan ip dari pesan dan klik.
Ini akan menghapus baris itu lalu lari
Ini akan menghemat maka Anda baik untuk pergi.
sumber