निजी कुंजी पर सेट किया जा सकने वाला पासफ़्रेज़ SSH सर्वर या उसके कनेक्शन से असंबंधित है। निजी कुंजी के लिए एक पासफ़्रेज़ सेट करना एक सुरक्षा उपाय है जिसे निजी कुंजी चोरी होने की स्थिति में तीसरे पक्ष द्वारा अपने दूरस्थ शेल तक पहुंचने से रोकने के लिए मुख्य स्वामी को उपाय करना पड़ सकता है।
दुर्भाग्य से, आप उपयोगकर्ताओं को पासफ़्रेज़ के साथ अपनी निजी कुंजियाँ सुरक्षित करने के लिए बाध्य नहीं कर सकते। कभी-कभी, दूरस्थ एसएसएच सर्वर तक पहुंच को स्वचालित करने के लिए असुरक्षित निजी कुंजी की आवश्यकता होती है। एक अच्छी आदत मैं अत्यधिक की सलाह देते हैं इस तरह के मामलों के लिए करने के लिए उपयोगकर्ताओं को सलाह देने के है हैश known_hosts फ़ाइल (पर संग्रहीत ~ / .ssh / known_hosts ) है, जो उपयोगकर्ता जोड़ता करने के लिए दूरस्थ मेजबान के बारे में जानकारी रखता है, निम्न आदेश का उपयोग कर:
ssh-keygen -H -f ~/.ssh/known_hosts
इस तरह, भले ही किसी तीसरे पक्ष ने असुरक्षित निजी कुंजी तक पहुंच प्राप्त की हो, लेकिन यह पता लगाना बेहद मुश्किल होगा कि यह कुंजी किस मेजबान के लिए मान्य है। बेशक, इस तकनीक के किसी भी मूल्य के लिए शेल इतिहास को साफ़ करना अनिवार्य है।
इसके अलावा, एक और बात जो आपको हमेशा ध्यान में रखनी चाहिए, वह रूट को आपके SSH सर्वर के कॉन्फ़िगरेशन (sshd_config) में निम्नलिखित जोड़कर दूरस्थ रूप से लॉगिन करने की अनुमति नहीं देता है:
PermitRootLogin no
दूसरी ओर, यदि आप उपयोगकर्ताओं को प्रमाणीकरण के लिए कुंजियों का उपयोग करने से रोकना चाहते हैं, लेकिन पासवर्ड का उपयोग करने के बजाय, आपको अपने sshd_config में निम्न जोड़ना चाहिए :
PasswordAuthentication yes
PubkeyAuthentication no