कनेक्शन के लिए ssh कुंजी का उपयोग करना, लेकिन -i विकल्प के बिना


2

मैं सर्वर होस्ट्स के साथ काम कर रहा हूं और मैं हर बार पासवर्ड को निर्दिष्ट नहीं करना चाहता हूं जो मैं किसी भी होस्ट से कनेक्ट करना चाहता हूं। तब मैंने एक कुंजी तैयार की है:

Enter file in which to save the key (/home/robe/.ssh/id_rsa): my_key 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in my_key.
Your public key has been saved in my_key.pub.
The key fingerprint is:
e6:d9:a3:85:38:b1:b2:a9:4d:3b:c1:33:65:df:57:25 robe@computer
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|              E .|
|               o |
|      o       .  |
|   . o..S.   .   |
|    =  *.+. .    |
|    o++ + +.     |
|   o.= . o .     |
|  ..=.  .        |
+-----------------+

तो मैं कॉपी my_key.pub को authorized_keys हर मेजबान में फ़ाइल और मैं के साथ कनेक्ट कर सकते हैं:

ssh -i /path/to/my_key  user@host

लेकिन यहाँ मेरी समस्या है, मैं कुंजी निर्दिष्ट किए बिना कनेक्ट करना चाहता हूं। मैं एक रास्ता खोजना चाहूंगा जिसे मैं चलाता हूं:

ssh user@host

नोट : मैं अपना डिफ़ॉल्ट id_rsa और id_rsa.pub कुंजियाँ रखना चाहता हूँ। अन्य होस्ट्स को प्रबंधित करने के लिए my_key कुंजी एक वैकल्पिक विकल्प है।

जवाबों:


8

आप ~/.ssh/configकॉन्फ़िगरेशन फ़ाइल की तलाश कर रहे हैं । उदाहरण के लिए, इस फ़ाइल में यह प्रविष्टि जोड़ें।

Host host
    HostName host.example.com
    User johndoe
    IdentityFile ~/.ssh/host.key

अब आप टाइप कर सकते हैं

ssh host

और ssh स्वचालित रूप से उपयोगकर्ता नाम और कुंजी का उपयोग करेगा जिसे आप IdentityFileपैरामीटर द्वारा निर्दिष्ट करते हैं। इसलिए वह आदेश इसके बराबर है:

ssh johndoe@host.example.com -i ~/.ssh/host.key

उस फ़ाइल के सभी कॉन्फ़िगरेशन विवरणों के लिए http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/ssh_config.5 देखें ।


1

यदि आप * निक्स में हैं, तो आप अपने सत्र के लिए मेमोरी में अपनी पहचान संग्रहीत करने के लिए ssh-Agent / ssh-add का उपयोग कर सकते हैं।

  1. टर्मिनल से ssh-Agent चलाएं

user @ मशीन $ ssh- एजेंट बैश

यह sash-Agent चलाने के साथ एक bash प्रक्रिया तैयार करेगा

यदि आप एक और प्रक्रिया नहीं बनाना चाहते हैं, तो

user @ मशीन $ ssh-Agent -s

SSH_AUTH_SOCK = / tmp / ssh-shtzxe4347 / agent.4347; SSH_AUTH_SOCK निर्यात करें; SSH_AGENT_PID = 4348; SSH_AGENT_PID निर्यात करें; इको एजेंट पीआईडी ​​4348;

आपको अपने env वैरिएबल को अपडेट करने के लिए बोल्ड में कमांड्स निष्पादित करने होंगे।

2. पिछले चरणों में से किसी के बाद

user @ मशीन $ ssh-add

एजेंट को अपना .ssh / id_rsa जोड़ने के लिए, यदि आपकी कुंजी में पासवर्ड है, तो वह इसके लिए संकेत देगा

http://linux.die.net/man/1/ssh-agent http://linux.die.net/man/1/ssh-add


आधुनिक लिनक्स डेस्कटॉप में इसके लिए GUI है, और लॉगिन के बाद से एक एजेंट शुरू होगा।

विंडोज में, आप ssh-Agent के बजाय Pageant (पुट्टी का हिस्सा) का उपयोग कर सकते हैं।

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