जैसा कि इस लेख में बताया गया है, आप ssky-keygen और ssh-copy-id का उपयोग करके 3 सरल चरणों में पासवर्ड दर्ज किए बिना दूरस्थ Linux सर्वर में लॉगिन कर सकते हैं। ssh-keygen सार्वजनिक और निजी कुंजियाँ बनाता है।ssh-copy-id स्थानीय-होस्ट की सार्वजनिक कुंजी को रिमोट-होस्ट की अधिकृत_कीज़ फ़ाइल में कॉपी करता है। ssh-copy-id रिमोट-होस्ट के होम, ~/.ssh, और ~/.ssh/authorized_keys को उचित अनुमति भी प्रदान करता है।
यह आलेख ssh-copy-id का उपयोग करने की 3 छोटी परेशानियों और ssh-एजेंट के साथ ssh-copy-id का उपयोग करने के तरीके के बारे में भी बताता है।
पी>
चरण 1:स्थानीय-होस्ट पर ssh-key-gen का उपयोग करके सार्वजनिक और निजी कुंजी बनाएं
jsmith@local-host$ [Note: You are on local-host here] jsmith@local-host$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key] Enter passphrase (empty for no passphrase): [Press enter key] Enter same passphrase again: [Pess enter key] Your identification has been saved in /home/jsmith/.ssh/id_rsa. Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub. The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 jsmith@local-host
चरण 2:ssh-copy-id का उपयोग करके सार्वजनिक कुंजी को रिमोट-होस्ट पर कॉपी करें
jsmith@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host jsmith@remote-host's password: Now try logging into the machine, with "ssh 'remote-host'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.<पी> ध्यान दें: ssh-कॉपी-आईडी जोड़ती है रिमोट-होस्ट की .ssh/authorized_key. की कुंजियाँ
चरण 3:पासवर्ड डाले बिना रिमोट-होस्ट में लॉगिन करें
jsmith@local-host$ ssh remote-host Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2 [Note: SSH did not ask for password.] jsmith@remote-host$ [Note: You are on remote-host here]<पी>
उपरोक्त 3 सरल चरणों से अधिकांश मामलों में काम पूरा हो जाना चाहिए।
हमने पहले भी बिना पासवर्ड डाले ओपनएसएसएच से ओपनएसएसएच में एसएसएच और एससीपी निष्पादित करने के बारे में विस्तार से चर्चा की थी।
यदि आप SSH2 का उपयोग कर रहे हैं, तो हमने पहले SSH2 से SSH2, OpenSSH से SSH2 और SSH2 से OpenSSH तक बिना पासवर्ड के SSH और SCP निष्पादित करने के बारे में चर्चा की थी।
पी> ssh-add/ssh-agent के साथ ssh-copy-id का उपयोग करना
<पी> जब विकल्प -i के लिए कोई मान पारित नहीं किया जाता है और यदि ~/.ssh/identity.pub उपलब्ध नहीं है, ssh-copy-id निम्न त्रुटि संदेश प्रदर्शित करेगा.jsmith@local-host$ ssh-copy-id -i remote-host /usr/bin/ssh-copy-id: ERROR: No identities found<पी>
यदि आपने ssh-agent में कुंजियाँ लोड की हैं ssh-add का उपयोग करना , फिर ssh-copy-id ssh-agent से चाबियाँ प्राप्त होंगी रिमोट-होस्ट पर कॉपी करने के लिए। यानी, यह ssh-add -L द्वारा प्रदान की गई कुंजियों की प्रतिलिपि बनाता है जब आप विकल्प -i पास नहीं करते हैं, तो रिमोट-होस्ट को कमांड दें ssh-copy-id पर .
jsmith@local-host$ ssh-agent $SHELL jsmith@local-host$ ssh-add -L The agent has no identities. jsmith@local-host$ ssh-add Identity added: /home/jsmith/.ssh/id_rsa (/home/jsmith/.ssh/id_rsa) jsmith@local-host$ ssh-add -L ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsJIEILxftj8aSxMa3d8t6JvM79DyBV aHrtPhTYpq7kIEMUNzApnyxsHpH1tQ/Ow== /home/jsmith/.ssh/id_rsa jsmith@local-host$ ssh-copy-id -i remote-host jsmith@remote-host's password: Now try logging into the machine, with "ssh 'remote-host'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. [Note: This has added the key displayed by ssh-add -L]
ssh-copy-id की तीन छोटी परेशानियाँ
<पी> ssh-copy-id की कुछ छोटी परेशानियाँ निम्नलिखित हैं। पी> - डिफ़ॉल्ट सार्वजनिक कुंजी: ssh-copy-id डिफ़ॉल्ट सार्वजनिक कुंजी फ़ाइल के रूप में ~/.ssh/identity.pub का उपयोग करता है (अर्थात जब कोई मान option -i को पास नहीं किया जाता है) ). इसके बजाय, मैं चाहता हूं कि यह डिफ़ॉल्ट कुंजी के रूप में id_dsa.pub, या id_rsa.pub, या पहचान.pub का उपयोग करे। यानी यदि उनमें से कोई भी मौजूद है, तो उसे उसे रिमोट-होस्ट पर कॉपी करना चाहिए। यदि उनमें से दो या तीन मौजूद हैं, तो उसे पहचान.पब को डिफ़ॉल्ट के रूप में कॉपी करना चाहिए।
- एजेंट की कोई पहचान नहीं है: जब ssh-agent चल रहा है और ssh-add -L रिटर्न "एजेंट की कोई पहचान नहीं है" (अर्थात एसएसएच-एजेंट में कोई कुंजी नहीं जोड़ी गई है), एसएसएच-कॉपी-आईडी अभी भी संदेश "एजेंट की कोई पहचान नहीं है" को रिमोट-होस्ट की अधिकृत_की प्रविष्टि में कॉपी कर देगा।
- अधिकृत_कुंजियों में डुप्लिकेट प्रविष्टि: मेरी इच्छा है कि ssh-copy-id रिमोट-होस्ट की अधिकृत_कुंजियों पर डुप्लिकेट प्रविष्टि को मान्य करे। यदि आप स्थानीय-होस्ट पर ssh-copy-id को कई बार निष्पादित करते हैं, तो यह डुप्लिकेट की जांच किए बिना रिमोट-होस्ट की अधिकृत_की फ़ाइल पर एक ही कुंजी जोड़ता रहेगा। डुप्लिकेट प्रविष्टियों के साथ भी सब कुछ अपेक्षा के अनुरूप काम करता है। लेकिन, मैं चाहूंगा कि मेरी अधिकृत_कीज़ फ़ाइल अव्यवस्था मुक्त हो।
यदि आपको यह लेख पसंद आया, तो कृपया इसे Delicious पर बुकमार्क करें औरइसे ठोकर मारो . पी>