
Portable OpenSSH
OpenSSH, सुरक्षित रिमोट लॉगिन, कमांड निष्पादन और फ़ाइल स्थानांतरण के लिए SSH प्रोटोकॉल (संस्करण 2) का एक संपूर्ण कार्यान्वयन है। इसमें एक क्लाइंट ssh और सर्वर sshd, फ़ाइल स्थानांतरण उपयोगिताएँ scp और sftp, साथ ही कुंजी निर्माण (ssh-keygen), रन-टाइम कुंजी भंडारण (ssh-agent) के लिए उपकरण और कई सहायक प्रोग्राम शामिल हैं।
यह OpenBSD के OpenSSH का अधिकांश Unix-जैसे ऑपरेटिंग सिस्टमों के लिए एक पोर्ट है, जिसमें Linux, OS X और Cygwin शामिल हैं। पोर्टेबल OpenSSH, OpenBSD APIs को पॉलीफिल करता है जो अन्यत्र उपलब्ध नहीं हैं, अधिक ऑपरेटिंग सिस्टमों के लिए sshd सैंडबॉक्सिंग जोड़ता है, और OS-मूल प्रमाणीकरण और ऑडिटिंग (जैसे PAM का उपयोग करके) के लिए समर्थन शामिल करता है।
OpenSSH के लिए आधिकारिक दस्तावेज़ प्रत्येक उपकरण के मैन पेज हैं:
स्थिर रिलीज़ टारबॉल कई डाउनलोड मिरर से उपलब्ध हैं। हम अधिकांश उपयोगकर्ताओं के लिए स्थिर रिलीज़ का उपयोग करने की सलाह देते हैं। हाल के परिवर्तनों और संभावित असंगतताओं के विवरण के लिए कृपया रिलीज़ नोट्स पढ़ें।
पोर्टेबल OpenSSH का निर्माण autoconf और make का उपयोग करके किया जाता है। इसके लिए एक कार्यशील C कंपाइलर, मानक लाइब्रेरी और हेडर की आवश्यकता होती है।
libcrypto को LibreSSL, OpenSSL, AWS-LC या BoringSSL में से किसी एक से भी उपयोग किया जा सकता है। OpenSSH को इनमें से किसी के बिना भी बनाया जा सकता है, लेकिन परिणामी बाइनरी में सामान्य रूप से उपलब्ध क्रिप्टोग्राफिक एल्गोरिदम का केवल एक उपसमुच्चय होगा।
zlib वैकल्पिक है; इसके बिना ट्रांसपोर्ट संपीड़न समर्थित नहीं है।
FIDO सुरक्षा टोकन समर्थन के लिए libfido2 और इसकी निर्भरताओं की आवश्यकता होती है, और यदि वे पाई जाती हैं तो यह स्वचालित रूप से सक्षम हो जाएगा।
इसके अलावा, कुछ प्लेटफ़ॉर्म और बिल्ड-टाइम विकल्पों के लिए अतिरिक्त निर्भरताओं की आवश्यकता हो सकती है; अपने प्लेटफ़ॉर्म के विवरण के लिए README.platform देखें।
रिलीज़ टारबॉल और git में रिलीज़ शाखाओं में configure स्क्रिप्ट की एक पूर्व-निर्मित प्रति शामिल होती है और इन्हें निम्न का उपयोग करके बनाया जा सकता है:
tar zxvf openssh-X.YpZ.tar.gz
cd openssh
./configure # [options]
make && make tests
कॉन्फ़िगर विकल्पों के लिए नीचे बिल्ड-टाइम कस्टमाइज़ेशन अनुभाग देखें। यदि आप OpenSSH को अपने सिस्टम पर स्थापित करने की योजना बना रहे हैं, तो आप आमतौर पर गंतव्य पथ निर्दिष्ट करना चाहेंगे।
यदि आप git मास्टर शाखा से निर्माण कर रहे हैं, तो configure स्क्रिप्ट बनाने के लिए आपको autoconf स्थापित करने की आवश्यकता होगी। निम्न कमांड git से पोर्टेबल OpenSSH को चेक आउट और बिल्ड करेंगी:
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git
cd openssh-portable
autoreconf
./configure
make && make tests
कई बिल्ड-टाइम कस्टमाइज़ेशन विकल्प उपलब्ध हैं। सभी Autoconf गंतव्य पथ फ़्लैग (जैसे --prefix) समर्थित हैं (और यदि आप OpenSSH स्थापित करना चाहते हैं तो आमतौर पर आवश्यक होते हैं)।
उपलब्ध फ़्लैग की पूरी सूची के लिए, ./configure --help चलाएँ, लेकिन कुछ अधिक बार उपयोग किए जाने वाले फ़्लैग नीचे वर्णित हैं। इनमें से कुछ फ़्लैग के लिए अतिरिक्त लाइब्रेरी और/या हेडर स्थापित करने की आवश्यकता होगी।
पोर्टेबल OpenSSH विकास पर openssh-unix-dev मेलिंग सूची (संग्रह मिरर) में चर्चा की जाती है। बग और फीचर अनुरोध हमारे Bugzilla पर ट्रैक किए जाते हैं।
गैर-सुरक्षा बग की रिपोर्ट Bugzilla के माध्यम से या उपरोक्त मेलिंग सूची के माध्यम से डेवलपर्स को की जा सकती है। सुरक्षा बग की रिपोर्ट [email protected] पर की जानी चाहिए।
| Flag | Meaning |
|---|
--with-pam | PAM समर्थन सक्षम करें। OpenPAM, Linux PAM और Solaris PAM समर्थित हैं। |
--with-libedit | sftp के लिए libedit समर्थन सक्षम करें। |
--with-kerberos5 | Kerberos/GSSAPI समर्थन सक्षम करें। Heimdal और MIT दोनों Kerberos कार्यान्वयन समर्थित हैं। |
--with-selinux | SELinux समर्थन सक्षम करें। |