GNU/Linux >> Belajar Linux >  >> Linux

Untuk sementara abaikan file `~/.ssh/known_hosts` saya?

Solusi 1:

Anda dapat menggunakan ssh -o StrictHostKeyChecking=no untuk menonaktifkan pemeriksaan known_hosts sesaat. Tapi saya akan menyarankan hal ini. Anda harus benar-benar memeriksa mengapa kunci host berubah.

Opsi lainnya adalah menambahkan entri khusus ke ~/.ssh/config Anda untuk tuan rumah yang bersangkutan. Ini mungkin pendekatan yang valid jika Anda memiliki host tertentu yang menghasilkan kunci host baru setiap kali reboot dan di-reboot untuk alasan yang valid beberapa kali sehari.

Host <your problematic host>
  StrictHostKeyChecking no

Solusi 2:

Untuk sepenuhnya mengabaikan file host yang Anda kenal di lingkungan POSIX, atur GlobalKnownHostsFile dan UserKnownHostsFile opsi untuk /dev/null :

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

Mengatur StrictHostKeyChecking=no opsi akan memungkinkan Anda untuk terhubung tetapi SSH akan tetap menampilkan peringatan :

ssh -o StrictHostKeyChecking=no [email protected]

Seperti yang telah dicatat orang lain, mungkin lebih baik untuk mengatasi masalah yang mendasarinya. Anda dapat mempertimbangkan autentikasi sertifikat SSH untuk memverifikasi host, misalnya.

Solusi 3:

Jika Anda telah menginstal ulang server dan oleh karena itu Identifikasi telah berubah, Anda sebaiknya menghapus baris 155 yang ditentukan dari /Users/alexus/.ssh/known_hosts dan lanjutkan.

Jika Anda beralih di antara jaringan pribadi yang berbeda, Anda harus menggunakan nama host untuk terhubung, karena klien ssh juga akan menyimpan kunci tergantung pada nama host. Tambahkan sesuatu seperti ini ke /etc/hosts Anda :

10.52.11.171 server1
10.52.11.171 server2

lalu gunakan ssh server1 saat terhubung ke subnet 1 dan ssh server2 ketika terhubung ke subnet2. Dengan cara ini, kedua server dapat memiliki kunci host yang berbeda.

Solusi 4:

-o StrictHostKeyChecking=no hanya berfungsi jika host belum ada di file known_hosts.

Saya pikir ini lebih bersih (tanpa peringatan), jika Anda mengharapkan kunci host berubah mungkin karena kloning vm, untuk memaksa mengabaikan host semacam itu seperti ini:

# 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 [email protected]${host_ip} "hostname"

Solusi 5:

Beberapa orang mengatakan itu tidak benar, Anda tidak boleh melakukan ini dan seterusnya, tetapi saya memerlukan ini juga untuk menguji beberapa perangkat yang disematkan berulang kali. Anda perlu menonaktifkan StrictHostKeyChecking=no , ini benar, tetapi juga mereset file host yang dikenal ke /dev/null . Berikut contoh dengan autologin dan ps di perangkat jarak jauh.

sshpass -p pass ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected] 'ps ax'

Linux
  1. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  2. gema atau cetak /dev/stdin /dev/stdout /dev/stderr

  3. Haruskah situs web berada di /var/ atau /usr/ sesuai dengan penggunaan yang disarankan?

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Ubuntu 14.04 "tidak Mendapatkan Uri Pemutaran Saat Masuk File:///*"?

  3. Bagaimana Cara Mengembalikan File Ssh_config Di /etc/ssh?

  1. [Linux]:Cara Mem-Hash File Host yang Diketahui dari direktori ~/.ssh/

  2. Bash =~ Regex Dan Https://regex101.com/?

  3. Cara menggunakan wget untuk mengunduh file melalui proxy