GNU/Linux >> Belajar Linux >  >> Linux

ssh-keyscan - masih dipromosikan dengan Keaslian host '[nama host] ([alamat IP])' tidak dapat dibuat

Coba ini:

ssh-keyscan -t rsa [ip_address]

Ambil hasilnya dan rekatkan di .ssh/known_hosts. Sekarang jika Anda ingin hash known_hosts lakukan ini:

ssh-keygen -H

sunting: Inilah solusi satu perintah. Itu menggunakan nama host dan alamat IP dan hash keduanya.

ssh-keyscan -Ht rsa [hostname],[IP address] >> known_hosts

Jawaban oleh kschurig akan berhasil tetapi belum tentu yang paling aman. Itu memang mendapatkan poin bonus karena berusaha lebih keras untuk memungkinkan Anda mengidentifikasi server dengan lebih dari satu URI-- yaitu nama host dan alamat IP. Artinya, Anda dapat terus menambahkan URI yang valid dari host tersebut dengan memperluas daftar yang dibatasi koma.

Namun, saya sedang mencari cara biasa untuk mem-bypass interaksi manual host yang tidak dikenal dari mengkloning repo git seperti yang ditunjukkan di bawah ini dan ini akan membantu dalam menjelaskan apa yang terjadi dan bagaimana Anda dapat menghindari bagian skrip yang satu ini dari beberapa hal terkait SSH:

[email protected]:~$ git clone [email protected]:viperks/viperks-api.git
Cloning into 'viperks-api'...
The authenticity of host 'bitbucket.org (104.192.143.3)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)?

Perhatikan sidik jari kunci RSA...

Jadi, ini adalah masalah SSH, ini akan berfungsi untuk git melalui SSH dan hanya hal-hal terkait SSH secara umum...

[email protected]:~$ nmap bitbucket.org --script ssh-hostkey

Starting Nmap 7.01 ( https://nmap.org ) at 2016-10-05 10:21 EDT
Nmap scan report for bitbucket.org (104.192.143.3)
Host is up (0.032s latency).
Other addresses for bitbucket.org (not scanned): 104.192.143.2 104.192.143.1 2401:1d80:1010::150
Not shown: 997 filtered ports
PORT    STATE SERVICE
22/tcp  open  ssh
| ssh-hostkey:
|   1024 35:ee:d7:b8:ef:d7:79:e2:c6:43:9e:ab:40:6f:50:74 (DSA)
|_  2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40 (RSA)
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 42.42 seconds

Pertama, instal nmap pada driver harian Anda. nmap sangat membantu untuk hal-hal tertentu, seperti mendeteksi port terbuka dan ini-- memverifikasi sidik jari SSH secara manual. Tapi, kembali ke apa yang kita lakukan.

Bagus. Saya entah dikompromikan di beberapa tempat dan mesin yang telah saya periksa-- atau penjelasan yang lebih masuk akal tentang segala sesuatu yang keren adalah apa yang terjadi.

'Sidik jari' itu hanyalah sebuah string yang disingkat dengan algoritme satu arah untuk kenyamanan manusia dengan risiko lebih dari satu string terurai menjadi sidik jari yang sama. Itu terjadi, mereka disebut tabrakan.

Terlepas dari itu, kembali ke string asli yang dapat kita lihat dalam konteks di bawah ini.

[email protected]:~$ ssh-keyscan bitbucket.org
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-128
no hostkey alg
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-129
bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-123
no hostkey alg

Jadi, sebelumnya, kami memiliki cara untuk meminta formulir identifikasi dari host asli.

Pada titik ini kami secara manual sama rentannya dengan otomatis-- string cocok, kami memiliki data dasar yang membuat sidik jari, dan kami dapat meminta data dasar tersebut (mencegah tabrakan) di masa mendatang.

Sekarang untuk menggunakan string itu dengan cara yang mencegah pertanyaan tentang keaslian host...

File known_hosts dalam hal ini tidak menggunakan entri plaintext. Anda akan mengetahui entri hash saat melihatnya, entri tersebut terlihat seperti hash dengan karakter acak, bukan xyz.com atau 123.45.67.89.

[email protected]:~$ ssh-keyscan -t rsa -H bitbucket.org
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-128
|1|yr6p7i8doyLhDtrrnWDk7m9QVXk=|LuKNg9gypeDhfRo/AvLTAlxnyQw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==

Baris komentar pertama muncul dengan marah-- tetapi Anda dapat membuangnya dengan pengalihan sederhana melalui konvensi ">" atau ">>".

Karena saya telah melakukan yang terbaik untuk mendapatkan data yang tidak ternoda untuk digunakan untuk mengidentifikasi "host" dan kepercayaan, saya akan menambahkan identifikasi ini ke file known_hosts saya di direktori ~/.ssh saya. Karena sekarang akan diidentifikasi sebagai host yang dikenal, saya tidak akan mendapatkan perintah yang disebutkan di atas saat Anda masih muda.

Terima kasih telah bertahan dengan saya, ini dia. Saya menambahkan kunci RSA bitbucket sehingga saya dapat berinteraksi dengan repositori git saya di sana dengan cara non-interaktif sebagai bagian dari alur kerja CI, tetapi apa pun yang Anda lakukan sesuai keinginan Anda.

#!/bin/bash
cp ~/.ssh/known_hosts ~/.ssh/known_hosts.old && echo "|1|yr6p7i8doyLhDtrrnWDk7m9QVXk=|LuKNg9gypeDhfRo/AvLTAlxnyQw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==" >> ~/.ssh/known_hosts

Jadi, begitulah cara Anda tetap perawan untuk hari ini. Anda dapat melakukan hal yang sama dengan github dengan mengikuti petunjuk serupa pada waktu Anda sendiri.

Saya melihat begitu banyak posting stack overflow yang memberi tahu Anda untuk secara terprogram menambahkan kunci secara membabi buta tanpa pemeriksaan apa pun. Semakin sering Anda memeriksa kunci dari mesin yang berbeda di jaringan yang berbeda, semakin besar kepercayaan yang dapat Anda miliki bahwa host adalah yang disebutkannya-- dan itulah yang terbaik yang dapat Anda harapkan dari lapisan keamanan ini.

SALAHssh -oStrictHostKeyChecking=tidak ada nama host [perintah]

SALAHssh-keyscan -t rsa -H nama host>> ~/.ssh/known_hosts

Tolong jangan lakukan salah satu dari hal-hal di atas. Anda diberi kesempatan untuk meningkatkan peluang menghindari seseorang menguping transfer data Anda melalui serangan pria di tengah-- ambil kesempatan itu. Perbedaannya secara harfiah memverifikasi bahwa kunci RSA yang Anda miliki adalah salah satu server yang bonafid dan sekarang Anda tahu cara mendapatkan informasi itu untuk membandingkannya sehingga Anda dapat mempercayai koneksinya. Ingatlah lebih banyak perbandingan dari komputer &jaringan yang berbeda biasanya akan meningkatkan kemampuan Anda untuk mempercayai koneksi.


Linux
  1. Bagaimana Cara Menggunakan Alias ​​​​Ssh yang Sama Dengan Beberapa Alamat Host/port/dll.?

  2. Bagaimana skrip bash dapat mengetahui direktori tempat ia diinstal ketika bersumber dari . operator?

  3. Bagaimana saya bisa mengontrol keyboard dan mouse dengan Python?

  1. Bagaimana cara membatasi cache yang digunakan dengan menyalin sehingga masih tersedia memori untuk cache lain?

  2. Bagaimana saya bisa menginstal Anaconda terbaru dengan wget

  3. Saat membaca file dengan `kurang` atau `lebih`, bagaimana saya bisa mendapatkan konten berwarna?

  1. 3 hal berguna yang dapat Anda lakukan dengan alat IP di Linux

  2. Bisakah Saya Memperbarui Sistem Dengan Live Cd?

  3. Tidak dapat mengganti nama file yang namanya dimulai dengan tanda hubung