मेरे पास 2 नोड हैडूप क्लस्टर है।
मैंने इस आज्ञा को गुरु पर चलाया:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
मैं इसे पूर्ववत कैसे कर सकता हूं? मैं वास्तव में कुंजी को पुन: सौंपना चाहूंगा।
192.168.1.1
गुलाम है।
मेरे पास 2 नोड हैडूप क्लस्टर है।
मैंने इस आज्ञा को गुरु पर चलाया:
$ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.1
मैं इसे पूर्ववत कैसे कर सकता हूं? मैं वास्तव में कुंजी को पुन: सौंपना चाहूंगा।
192.168.1.1
गुलाम है।
जवाबों:
आपके द्वारा चलाए जाने पर आपके द्वारा कॉपी की गई सार्वजनिक कुंजी को पहचानें ssh-copy-id
:
cat ~/.ssh/id_rsa.pub
SSH सर्वर पर आपने कुंजी की प्रतिलिपि बनाई है:
ssh hadoop@192.168.1.1
अपने पसंदीदा संपादक का उपयोग करने ~hadoop/.ssh/authorized_keys
पर फ़ाइल को संपादित करें 192.168.1.1
, और अपनी कुंजी वाली रेखा को हटा दें।
ssh
चलाने के लिए थोड़ा-एक लाइनर के साथ इसे "स्वचालित" कर सकते थे । देखें superuser.com/questions/429954/...sed
~/.ssh/authorized_keys
यदि आपने ऐसा किया है ssh-copy-id
:
remote='user@machine'
ssh-copy-id -i $remote
तो आप पासवर्ड का उपयोग किए बिना इस रिमोट मशीन का उपयोग कर सकते हैं:
ssh $remote
इसे सिस्टेमेटिक तरीके से पूर्ववत करने के लिए, आप कुछ इस तरह से स्क्रिप्ट कर सकते हैं:
idssh=$(awk '{print $2}' ~/.ssh/id_rsa.pub)
ssh $remote "sed -i '#$idssh#d' .ssh/authorized_keys"
मैं इसे उन लिपियों में उपयोग करता हूं जिनकी मुझे scp
कई फ़ाइलों की आवश्यकता है , इसलिए मैं केवल एक बार पासवर्ड के लिए पूछता हूं।
AAA....==
स्ट्रिंग (वास्तविक कुंजी) के लिए या से पूरी लाइन के लिए grep चाहता हूं id_rsa.pub
। लेकिन एक कुंजी को हटाने को स्वचालित करने के तरीके को दिखाने के लिए +1।
ssh $remote "sed -i '\;$idssh;{d}' .ssh/authorized_keys"
ssh-rm-id hadoop@192.168.1.1