क्या ऑटो में एक एसएसएल प्रमाणपत्र को एसवीएन कमांडलाइन को स्थायी रूप से स्वीकार करने के लिए ऑटो प्रॉम्प्ट को स्वीकार करने से रोकता है?
क्या ऑटो में एक एसएसएल प्रमाणपत्र को एसवीएन कमांडलाइन को स्थायी रूप से स्वीकार करने के लिए ऑटो प्रॉम्प्ट को स्वीकार करने से रोकता है?
जवाबों:
यह एसवीएन के आपके संस्करण पर कुछ हद तक निर्भर करता है। हाल ही में (1.6+) लोगों के पास सामान्य --non-interactive
(जो आप संकेतों से बचने के लिए उपयोग करना चाहते हैं) और यह भी --trust-server-cert
कि आप जो चाहते हैं वह कर सकते हैं।
उपयोग --trust-server-cert
करने से एसएसएल प्रमाणपत्र को स्थायी रूप से स्वीकार नहीं किया जाएगा। आप इनपुट पुनर्निर्देशन का उपयोग करके कमांड लाइन के माध्यम से एसएसएल प्रमाणपत्र को स्थायी रूप से स्वीकार कर सकते हैं और उपयोग नहीं कर सकते हैं --non-interactive
।
यहां यूनिक्स / लिनक्स के लिए एक उदाहरण दिया गया है:
svn list [TARGET] << EOF
p
EOF
नोट: उपरोक्त "p" स्थायी रूप से (p) के लिए है।
1.6.6 (r40053)
) दुर्भाग्य से बस p
(स्थायी रूप से) विकल्प की पेशकश नहीं करेगा । और चूंकि यह एक प्राचीन बॉक्स पर है जिसे मैं अब अपडेट नहीं कर सकता ...
मेरा समाधान उम्मीद का उपयोग करता है। यह सुरक्षित नहीं है, लेकिन यह तब काम करेगा जब अन्य समाधान नहीं होंगे।
#!/usr/bin/expect -f
set svn_username [lindex $argv 0]
set svn_password [lindex $argv 1]
set svn_url [lindex $argv 2]
spawn svn --username=${svn_username} --password=${svn_password} list ${svn_url}
expect "(R)eject, accept (t)emporarily or accept (p)ermanently? "
send -- "p\r"
expect "Store password unencrypted (yes/no)? "
send "no\r"
expect -re "root@.*:\/#"
आपको प्रमाणपत्र डाउनलोड करने में सक्षम होना चाहिए और फिर इसे उपयुक्त निर्देशिका में रखना चाहिए। या आप CA प्रमाणपत्र डाउनलोड कर सकते हैं और फिर उस CA पर भरोसा करने के लिए कॉन्फ़िगरेशन विकल्प ssl-authority-files सेट करें ।
पुस्तक में SSL प्रमाणपत्र प्रबंधन अनुभाग देखें ।