ऑटो कमांड लाइन से rsa कुंजी फिंगरप्रिंट स्वीकार करते हैं


15

मैंने yes | ssh root@10.x.x.xआरएसए कुंजी फिंगरप्रिंट को स्वीकार करने की कोशिश करने की कोशिश की है, लेकिन मुझे अभी भी संकेत दिया जाता है कि मुझे यकीन है कि मैं कनेक्ट करना चाहता हूं। क्या इसे स्वचालित बनाने का कोई तरीका है?

जवाबों:


8

इन्हें अपने बैश स्टार्टअप फ़ाइल में या इसी तरह जोड़ें:

 #
 #  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" \
         "$@"
 }

तब का उपयोग करें sshtmp, या scptmpके स्थान पर sshऔर scp

नोट यदि आप इस सड़क से नीचे जाते हैं, तो आपको सचेत नहीं किया जाएगा कि एक होस्ट-कुंजी बदल गई है और सुरक्षा खो देगी।


4
धन्यवाद ssh -o "StrictHostKeyChecking no" root@10.x.x.xमेरे लिए काम किया
VenomFangs

16
इसका जवाब कैसे है? सवाल यह था कि चाबियों को स्वचालित रूप से स्वीकार करना चाहिए, न कि उनकी अनदेखी करना! यदि यह यहाँ पूछा और उत्तर दिया जाता है तो मैं वास्तविक प्रश्न "कुंजियों को स्वचालित रूप से स्वीकार" कैसे कर सकता हूं? घृणा करने के लिए घृणा करते हैं लेकिन लोगों पर आते हैं, यह स्टैक-एक्सचेंज नहीं होना चाहिए!
जॉनीबी

@ जॉननी मेरे जवाब पर एक नज़र डालें। यह सबसे साफ समाधान नहीं है, लेकिन यह वास्तव में कुंजी को स्वचालित रूप से स्वीकार करने की अनुमति देता है
RDP

13

OpenSSH 7.6 ने StrictHostKeyChecking=accept-newइस उद्देश्य के लिए नई सेटिंग पेश की है :

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".

( ओपनएसएसएच 7.6 रिलीज नोट )


10

SSH प्रोग्राम का उपयोग ज्ञात होस्ट कुंजी के साथ करें

यदि आप जो चाहते हैं वह प्रोग्रामेटिक रूप से उपयोग करने में सक्षम है और मैन-इन-द-मिडिल हमले से बचने के लिए है , तो मेरा सुझाव है कि आप कमांड का उपयोग करके ज्ञात फिंगरप्रिंट प्राप्त करें ssh-keyscan। उदाहरण:

$ 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==

फिर आप इसे एक अस्थायी फ़ाइल में सहेजने और UserKnownHostsFileविकल्प का उपयोग करने के लिए एक स्क्रिप्ट बना सकते हैं । नीचे दिया गया उदाहरण एक स्क्रिप्ट है, जिसे कहा जा सकता है 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

इसके साथ, आप ssh_githubइसके बजाय बस चला सकते हैं sshऔर यह तब भी कनेक्ट होगा जब कोई known_hostsस्क्रिप्ट नहीं है जहां आप स्क्रिप्ट डालते हैं।


0

मैं अभी उपयोग करता हूं: 'ssh -o StrictHostKeyChecking = no user @ host', इसे pssh के साथ भी इस्तेमाल किया जा सकता है: 'pssh -O StrictHostKeyChecking = no -h list.text -l user -i "cmd"'

सादर,


यह मेरे लिए काम कर रहा है, क्या यह एक कारण है कि इसे नीचे वोट दिया गया था? इसके अलावा OpenSSH 7.6+
Xenocide8998

-3

आप -yविकल्प का उपयोग कर सकते हैं : अर्थात प्रयास करें

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

-y अज्ञात होने पर हमेशा दूरस्थ होस्ट कुंजी स्वीकार करें


सर्वर दोष में आपका स्वागत है! अपनी पठनीयता में सुधार करने के लिए कृपया अपने पोस्ट को ठीक से टाइप करने के लिए मार्कडाउन और / या संपादन मेनू में प्रारूपण विकल्पों का उपयोग करें। यह कमांड को " code" के रूप में प्रारूपित करने के लिए है ।
HBruijn

अजीब बात है, लेकिन आदमी में मैं निम्नलिखित देखते हैं --y Send log information using the syslog system module. By default this information is sent to stderr.
ALex_hha

मैं मनुष्य में वही देखता हूं।
किर्ली इस्तवान

यह वैध ssh विकल्प नहीं है? आपने इसे कहां से कॉपी / पेस्ट किया?
फ्लो वू

2
यह विकल्प केवल ड्रॉपबियर एसएसएच में मौजूद है, ओपनएसएसएच नहीं।
जेरेमी विसर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.