मेरे पास एक विकास गिट सर्वर है जो live
शाखा को धक्का देने पर एक जीवित सर्वर को तैनात करता है। प्रत्येक उपयोगकर्ता का अपना लॉगिन होता है और इसलिए वह post-receive
हुक जो लाइव परिनियोजन करता है, अपने उपयोगकर्ता के अंतर्गत चलाया जाता है।
क्योंकि मैं उपयोगकर्ताओं को सार्वजनिक कुंजी को रिमोट लाइव सर्वर पर अधिकृत कुंजी के रूप में बनाए रखना नहीं चाहता, इसलिए मैंने कुंजी का एक सेट बनाया है, जो कि रिमोट लाइव सर्वर में जोड़ने के लिए git सिस्टम से संबंधित है ( post-receive
हुक में मैं उपयोग कर रहा हूं। विकल्प के $GIT_SSH
साथ निजी कुंजी सेट -i
करने के लिए)।
मेरी समस्या यह है कि सभी उपयोगकर्ताओं को जीवित रहने के लिए तैनात करना चाहते हैं, क्योंकि git सिस्टम की निजी कुंजी को कम से कम समूह पठनीय होना चाहिए और SSH वास्तव में इसे पसंद नहीं करता है।
यहाँ त्रुटि का एक नमूना है:
XXXX@XXXX /srv/git/identity % ssh -i id_rsa XXXXX@XXXXX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: id_rsa
मैंने देखा है कि ssh को केवल कनेक्शन के माध्यम से जाने के लिए मजबूर करने के तरीके में कुछ खोजने की उम्मीद है, लेकिन मुझे कुछ भी नहीं मिला है, लेकिन लोग आँख बंद करके कह रहे हैं कि आपको केवल एक उपयोगकर्ता के लिए कुछ भी करने की अनुमति नहीं देनी चाहिए।