Otomatis menerima sidik jari kunci rsa dari baris perintah


15

Saya sudah mencoba yes | ssh root@10.x.x.xuntuk mencoba menerima sidik jari kunci RSA, tetapi saya masih diminta jika saya yakin ingin terhubung. Apakah ada cara untuk membuat ini otomatis?

Jawaban:


8

Tambahkan ini ke file startup bash Anda, atau serupa:

 #
 #  ssh + scp without storing or prompting for keys.
 #
 function sshtmp
 {
     ssh -o "ConnectTimeout 3" \
         -o "StrictHostKeyChecking no" \
         -o "UserKnownHostsFile /dev/null" \
              "$@"
 }
 function scptmp
 {
     exec scp -o "ConnectTimeout 3" \
         -o "StrictHostKeyChecking no" \
         -o "UserKnownHostsFile /dev/null" \
         "$@"
 }

Kemudian gunakan sshtmp, atau scptmpdi tempat sshdan scp.

CATATAN Jika Anda melewati jalan ini, Anda tidak akan diberi tahu bahwa kunci host telah berubah dan akan kehilangan keamanan.


4
Terima kasih ssh -o "StrictHostKeyChecking no" root@10.x.x.xberhasil untuk saya
VenomFangs

16
bagaimana ini jawabannya? Pertanyaannya adalah menerima kunci secara otomatis, bukan mengabaikannya! Jika ini ditanyakan dan dijawab di sini, bagaimana cara menemukan jawaban untuk pertanyaan aktual "Terima kunci secara otomatis"? Benci untuk melakukan downvote tetapi datang-pada orang, ini bukan cara pertukaran stack seharusnya!
JohnnyB

@ JohnnyB lihat jawaban saya. Ini bukan solusi terbersih, tetapi sebenarnya memungkinkan kunci untuk diterima secara otomatis
RDP

13

OpenSSH 7.6 telah memperkenalkan StrictHostKeyChecking=accept-newpengaturan baru untuk tujuan ini:

ssh(1): expand the StrictHostKeyChecking option with two new
   settings. The first "accept-new" will automatically accept
   hitherto-unseen keys but will refuse connections for changed or
   invalid hostkeys. This is a safer subset of the current behaviour
   of StrictHostKeyChecking=no. The second setting "n", is a synonym
   for the current behaviour of StrictHostKeyChecking=no: accept new
   host keys, and continue connection for hosts with incorrect
   hostkeys. A future release will change the meaning of
   StrictHostKeyChecking=no to the behaviour of "accept-new".

( Catatan Rilis OpenSSH 7.6 )


10

Menggunakan SSH Secara terprogram dengan kunci host yang dikenal

Jika yang Anda inginkan adalah dapat menggunakan program dan menghindari serangan Man-In-The-Middle , maka saya sarankan Anda mendapatkan sidik jari yang dikenal menggunakan perintah ssh-keyscan. Contoh:

$ ssh-keyscan -t rsa,dsa github.com 2>/dev/null
github.com ssh-dss AAAAB3NzaC1kc3MAAACBANGFW2P9xlGU3zWrymJgI/lKo//ZW2WfVtmbsUZJ5uyKArtlQOT2+WRhcg4979aFxgKdcsqAYW3/LS1T2km3jYW/vr4Uzn+dXWODVk5VlUiZ1HFOHf6s6ITcZvjvdbp6ZbpM+DuJT7Bw+h5Fx8Qt8I16oCZYmAPJRtu46o9C2zk1AAAAFQC4gdFGcSbp5Gr0Wd5Ay/jtcldMewAAAIATTgn4sY4Nem/FQE+XJlyUQptPWMem5fwOcWtSXiTKaaN0lkk2p2snz+EJvAGXGq9dTSWHyLJSM2W6ZdQDqWJ1k+cL8CARAqL+UMwF84CR0m3hj+wtVGD/J4G5kW2DBAf4/bqzP4469lT+dF2FRQ2L9JKXrCWcnhMtJUvua8dvnwAAAIB6C4nQfAA7x8oLta6tT+oCk2WQcydNsyugE8vLrHlogoWEicla6cWPk7oXSspbzUcfkjN3Qa6e74PhRkc7JdSdAlFzU3m7LMkXo1MHgkqNX8glxWNVqBSc0YRdbFdTkL0C6gtpklilhvuHQCdbgB3LBAikcRkDp+FCVkUgPC/7Rw==
github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==

Kemudian Anda bisa memalsukan skrip untuk menyimpannya ke file sementara dan menggunakan UserKnownHostsFileopsi. Contoh di bawah ini adalah skrip, yang dapat disebut ssh_github:

#!/bin/bash

HOSTKEY='github.com ssh-dss AAAAB3NzaC1kc3MAAACBANGFW2P9xlGU3zWrymJgI/lKo//ZW2WfVtmbsUZJ5uyKArtlQOT2+WRhcg4979aFxgKdcsqAYW3/LS1T2km3jYW/vr4Uzn+dXWODVk5VlUiZ1HFOHf6s6ITcZvjvdbp6ZbpM+DuJT7Bw+                      h5Fx8Qt8I16oCZYmAPJRtu46o9C2zk1AAAAFQC4gdFGcSbp5Gr0Wd5Ay/jtcldMewAAAIATTgn4sY4Nem/FQE+XJlyUQptPWMem5fwOcWtSXiTKaaN0lkk2p2snz+EJvAGXGq9dTSWHyLJSM2W6ZdQDqWJ1k+cL8CARAqL+UMwF84CR0m3hj+wtVGD/J4G5kW2DBAf4/bqzP4469lT+dF2FRQ2L9JKXrCWcnhMtJUvua8dvnwAAAIB6C4nQfAA7x8oLta6tT+oCk2WQcydNsyugE8vLrHlogoWEicla6cWPk7oXSspbzUcfkjN3Qa6e74PhRkc7JdSdAlFzU3m7LMkXo1MHgkqNX8glxWNVqBSc0YRdbFdTkL0C6gtpklilhvuHQCdbgB3LBAikcRkDp+FCVkUgPC/7Rw==
github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+                                                                                                                                      PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+    2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ=='

TEMPFILE=$(mktemp)
echo "$HOSTKEY" > $TEMPFILE

ssh -o "UserKnownHostsFile $TEMPFILE" $@

rm $TEMPFILE

Dengan ini, Anda bisa menjalankan ssh_githubalih-alih sshdan itu akan terhubung bahkan jika tidak ada known_hostsfile tempat Anda meletakkan skrip.


0

Saya hanya menggunakan: 'ssh -o StrictHostKeyChecking = no user @ host', ini juga dapat digunakan dengan pssh: 'pssh -O StrictHostKeyChecking = no -h list.text -l pengguna -A -i "cmd"'

Salam,


Ini bekerja untuk saya, apakah ada alasan mengapa itu tidak dipilih? Juga membutuhkan OpenSSH 7.6+
Xenocide8998

-3

Anda dapat menggunakan -yopsi: yaitu mencoba

ssh -y root@10.x.x.x

-y Selalu terima kunci host jarak jauh jika tidak dikenal


Selamat Datang di Kesalahan Server! Silakan gunakan Markdown dan / atau opsi pemformatan di menu edit untuk mengetik dengan benar posting Anda untuk meningkatkan keterbacaannya. Ini adalah konvensi untuk memformat perintah sebagai " code".
HBruijn

Aneh tapi pada pria aku melihat yang berikut --y Send log information using the syslog system module. By default this information is sent to stderr.
ALex_hha

Saya melihat hal yang sama dalam diri manusia.
Király István

ini bukan opsi ssh yang valid? Dari mana Anda menyalin / menempel ini?
Flo Woo

2
Opsi ini hanya ada di SSH dropbear, bukan OpenSSH.
Jeremy Visser
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.