मैंने yes | ssh root@10.x.x.x
आरएसए कुंजी फिंगरप्रिंट को स्वीकार करने की कोशिश करने की कोशिश की है, लेकिन मुझे अभी भी संकेत दिया जाता है कि मुझे यकीन है कि मैं कनेक्ट करना चाहता हूं। क्या इसे स्वचालित बनाने का कोई तरीका है?
मैंने yes | ssh root@10.x.x.x
आरएसए कुंजी फिंगरप्रिंट को स्वीकार करने की कोशिश करने की कोशिश की है, लेकिन मुझे अभी भी संकेत दिया जाता है कि मुझे यकीन है कि मैं कनेक्ट करना चाहता हूं। क्या इसे स्वचालित बनाने का कोई तरीका है?
जवाबों:
इन्हें अपने बैश स्टार्टअप फ़ाइल में या इसी तरह जोड़ें:
#
# 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
।
नोट यदि आप इस सड़क से नीचे जाते हैं, तो आपको सचेत नहीं किया जाएगा कि एक होस्ट-कुंजी बदल गई है और सुरक्षा खो देगी।
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".
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
स्क्रिप्ट नहीं है जहां आप स्क्रिप्ट डालते हैं।
मैं अभी उपयोग करता हूं: 'ssh -o StrictHostKeyChecking = no user @ host', इसे pssh के साथ भी इस्तेमाल किया जा सकता है: 'pssh -O StrictHostKeyChecking = no -h list.text -l user -i "cmd"'
सादर,
आप -y
विकल्प का उपयोग कर सकते हैं : अर्थात प्रयास करें
ssh -y root@10.x.x.x
-y
अज्ञात होने पर हमेशा दूरस्थ होस्ट कुंजी स्वीकार करें
-y Send log information using the syslog system module. By default this information is sent to stderr.
ssh -o "StrictHostKeyChecking no" root@10.x.x.x
मेरे लिए काम किया