ssh रिमोट सर्वर बिना पासवर्ड के 22 के अलावा कुछ पोर्ट पर


16

मैं आमतौर पर दूरस्थ सर्वर से जुड़ रहा हूं

ssh user@server.com -p 11000

और फिर उपयोगकर्ता के लिए हर बार पासवर्ड देना। जब भी मैं ssh का उपयोग कर कनेक्ट करूं, मुझे हर बार पासवर्ड दर्ज करने से कैसे बचना चाहिए?

जवाबों:


23

सबसे पहले , इसे इसमें डालें ~/.ssh/config:

Host server
HostName server.com
Port 11000
User user

आप कर सकेंगे ssh server, फिर पासवर्ड टाइप करें।

दूसरा , चेक इन ~/.ssh/नामित फ़ाइलें देखने के लिए id_rsaऔर id_rsa.pub। यदि नहीं, तो आपके पास कोई कुंजी सेट नहीं है, इसलिए आपको एक जोड़ी का उपयोग करके उत्पन्न करना होगा ssh-keygen। आप चाबियों को पासवर्ड दे सकते हैं या नहीं। उत्पन्न फ़ाइल id_rsa.pubइस तरह दिखनी चाहिए:

ssh-rsa lotofrandomtext उपयोगकर्ता @ स्थानीय

तीसरा , सर्वर पर ssh, ~/.ssh/authorized_keysअगर यह मौजूद नहीं है तो फाइल बनाएं । फिर उस सामग्री को संलग्न करें ~/.ssh/id_rsa.pubजिसे आपने पहले यहां उत्पन्न किया था। इसका मतलब यह हो सकता है कि फ़ाइल सामग्री को आपके क्लिपबोर्ड पर कॉपी किया जाए, फिर ~/.ssh/authorized_keysएक टेक्स्ट एडिटर में खुलने और चीज़ को चिपकाने के लिए।

वैकल्पिक रूप से, कमांड का उपयोग करें ssh-copy-id server( serverनाम के साथ बदलें ~/.ssh/config)। यह ऊपर की तरह ही काम करेगा। कई बार मैंने अटकते हुए देखा ssh-copy-idहै, इसलिए मुझे यह पसंद नहीं है।

ssh serverजब तक आपने पासफ़्रेज़ के साथ अपनी निजी कुंजी को सुरक्षित करने के लिए नहीं चुना है, तब तक आपको बस के साथ ssh करने में सक्षम होना चाहिए । आम तौर पर यदि आप पासफ़्रेज़ का उपयोग नहीं करते हैं, तो आपको अपनी निजी कुंजी को अन्य माध्यमों (जैसे पूर्ण डिस्क एन्क्रिप्शन) द्वारा संरक्षित करना चाहिए।

चौथा (केवल यदि आप पासफ़्रेज़ के साथ अपनी निजी कुंजी की रक्षा करते हैं), तो इसे इसमें डालें~/.bashrc :

start_ssh_agent() {
    # Try to use an existing agent
    save=~/.ssh-agent
    if [[ -e "$save" ]]
    then
        . "$save" > /dev/null
    fi
    # No existing agent, start a new one
    if [[ -z "$SSH_AGENT_PID" || ! -e "/proc/$SSH_AGENT_PID" ]]
    then
        ssh-agent > "$save"
        . "$save" > /dev/null
        ssh-add
    fi
}
start_ssh_agent

इसके साथ, आपको केवल कंप्यूटर बूट के अनुसार एक बार पासफ़्रेज़ दर्ज करना होगा।


2
'कथा' में यह भी शामिल होना चाहिए कि हर समय पेसकी पासफ़्रेज़ टाइप करने से कैसे बचा जाए। :-) ssh- एजेंट और / या चाबी का गुच्छा विचार करने की संभावनाएं हैं।
फहीम मीठा

1
साथ ही, यदि दूरस्थ होस्ट पर आपका उपयोगकर्ता नाम स्थानीय होस्ट पर आपके उपयोगकर्ता नाम के समान नहीं है, तो आप एक User userपंक्ति जोड़ सकते हैं ~/.ssh/config
cjm

@ फहीम यह अच्छा है, लेकिन मैंने कभी इस तरह की बात नहीं की है इसलिए मुझे नहीं लगता कि मैं दूसरों को इसके बारे में निर्देश देने की स्थिति में हूं :)
phunehehe

@FaheemMitha वहाँ तुम जाओ :)
phunehehe

अरे, पहले से बेहतर देर।
फहीम मीठा

7

सुझाव के लिए धन्यवाद । मैं मंचों को देख रहा था लेकिन पोर्ट ( 22 के बजाय 11000 ) को लेकर समस्या आ रही थी । साथ मैं ssh के साथ नकल करने में सक्षम था। बहुत धन्यवाद। ssh -P 11000
प्रबेश श्रेष्ठ

4

Phunehehe के जवाब के लिए एक पूरक के रूप में, देखने के Gentoo Linux कीचेन गाइड के लिए एक गाइड के लिए कीचेन । चाबी का गुच्छा भी ssh- एजेंट का उपयोग करता है । Ssh- एजेंट डेमॉन पासफ़्रेज़ उपलब्ध कराता है ( reuses an ssh-agent between logins, and optionally prompts for passphrases each time the user logs inगाइड के उद्धरण के लिए यह ssh- एजेंट डेमन मर जाता है) लेकिन चाबी का गुच्छा उपलब्ध नहीं है ।

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