Saya ingin terhubung ke host melalui SSH tapi saya tidak ingin nama host ditambahkan ke saya ~/.ssh/known_hosts
.
Bagaimana saya bisa melakukan itu?
Jika Anda menginginkan perilaku ini karena Anda bekerja dengan server cloud (AWS EC2, Rackspace CloudServers dll.) Atau Anda terus-menerus menyediakan gambar baru di Vagrant, Anda mungkin ingin memperbarui konfigurasi SSH Anda alih-alih menambahkan alias bash atau lebih banyak opsi pada garis komando.
Pertimbangkan untuk menambahkan sesuatu seperti:
Host *.mydomain.com
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
User foo
LogLevel QUIET
harus bekerja.
sumber
grep -v "^Warning: Permanently added"
grep
akan menggabungkan stdout dan stderr; juga status keluar dapat berubah. Jika menggunakanbash
, akan lebih baik untuk menggunakan substitusi proses untuk menyingkirkan pesan:ssh 2> >( egrep >&2 -v '^Warning: Permanently added') -o "UserKnownHostsFile /dev/null" [...]
. Ini akan menghindari pipa dan dengan demikian perubahan terkait dalam penanganan status keluar.Saya merasa ingin menambahkan kunci host ke host diketahui Anda (orang-orang yang menjalankan layanan ini, dalam pengalaman saya, setidaknya cukup pintar untuk menjaga kunci host mereka konsisten antara mesin yang melayani nama host yang sama) dan kemudian menyalakan StrictHostKeyChecking, mematikan CheckHostIP, dan masuk dengan LogLevel ERROR akan memberi Anda pengalaman terbaik tanpa mengorbankan keamanan. (Ok, tanpa CheckHostIP Anda perlu mempercayai DNS, yang merupakan lubang menganga besar tanpa DNSSEC luas atau sesuatu yang serupa; tetapi kami hanya akan menyapu itu di bawah karpet untuk saat ini.)
Saya menggunakan file diketahui_hosts hanya-baca, jadi saya harus melakukan sesuatu atau saya mendapatkan peringatan tanpa akhir tentang tidak dapat menambahkan entri ke known_hosts.
Apa yang saya gunakan:
Saya ingin layanan ini untuk mempublikasikan kunci host SSH mereka di situs web mereka melalui HTTPS, jadi saya dapat menyalinnya secara eksplisit tanpa harus terhubung terlebih dahulu dan berpotensi membuat saya terkena serangan MITM.
sumber
Untuk sesi ssh tunggal, gunakan ini
sumber
saya menyarankan
lebih
jadi Anda masih mendapatkan "Tidak dapat menyelesaikan nama host" dan kesalahan lainnya
sumber
Sudahkah Anda mencoba menonaktifkan
StrictHostKeyChecking
? Anda dapat melakukannya dengan-o
opsi atau dalam file konfigurasi~/.ssh/config
.sumber
Saya menemukan entri .ssh / config berikut berguna (LAN dengan DHCP dan DNS):
Hasilnya adalah nama mesin lokal "zora" atau "goron" tidak akan memeriksa terhadap alamat IP yang ditetapkan secara dinamis, tetapi www.mycompany.com atau node42.planetlab.com masih akan memiliki IP statis mereka yang dikonfirmasi.
sumber