आप एसवीएन कमांड लाइन के माध्यम से एसएसएल प्रमाणपत्र कैसे स्वीकार करते हैं?


20

क्या ऑटो में एक एसएसएल प्रमाणपत्र को एसवीएन कमांडलाइन को स्थायी रूप से स्वीकार करने के लिए ऑटो प्रॉम्प्ट को स्वीकार करने से रोकता है?


क्या स्टैक ओवरफ्लो में यह बेहतर होगा?
जेम्स मैकमोहन

जवाबों:


20

यह एसवीएन के आपके संस्करण पर कुछ हद तक निर्भर करता है। हाल ही में (1.6+) लोगों के पास सामान्य --non-interactive(जो आप संकेतों से बचने के लिए उपयोग करना चाहते हैं) और यह भी --trust-server-certकि आप जो चाहते हैं वह कर सकते हैं।


यह समाधान काम करने लगता है। दुर्भाग्य से कमांड लाइन प्रमाणपत्र स्वीकार मेरी प्रारंभिक समस्या को हल नहीं किया। ओह ठीक है, कम से कम मुझे पता है कि अब क्या काम नहीं करता है।
जेम्स मैकमोहन

यदि यह अभी भी काम नहीं करता है, तो ऐसा इसलिए हो सकता है क्योंकि आप अपने होम डायरेक्टरी में .subversion निर्देशिका का उपयोग / निर्माण नहीं कर सकते हैं। समाधान यहां पाया गया: चिपसंडटीवी
articles

Chipandtv.com लिंक मृत है। क्या कोई और स्रोत है?
जो मैकमोहन


मैंने दोनों विकल्पों का उपयोग करना समाप्त कर दिया, अब यह काम करता है, धन्यवाद!
रॉगरडैक

10

उपयोग --trust-server-certकरने से एसएसएल प्रमाणपत्र को स्थायी रूप से स्वीकार नहीं किया जाएगा। आप इनपुट पुनर्निर्देशन का उपयोग करके कमांड लाइन के माध्यम से एसएसएल प्रमाणपत्र को स्थायी रूप से स्वीकार कर सकते हैं और उपयोग नहीं कर सकते हैं --non-interactive

यहां यूनिक्स / लिनक्स के लिए एक उदाहरण दिया गया है:

svn list [TARGET] << EOF
p
EOF

नोट: उपरोक्त "p" स्थायी रूप से (p) के लिए है।


खैर, मेरा संस्करण ( 1.6.6 (r40053)) दुर्भाग्य से बस p(स्थायी रूप से) विकल्प की पेशकश नहीं करेगा । और चूंकि यह एक प्राचीन बॉक्स पर है जिसे मैं अब अपडेट नहीं कर सकता ...
0xC0000022L

2

मेरा समाधान उम्मीद का उपयोग करता है। यह सुरक्षित नहीं है, लेकिन यह तब काम करेगा जब अन्य समाधान नहीं होंगे।

#!/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@.*:\/#"

0

आपको प्रमाणपत्र डाउनलोड करने में सक्षम होना चाहिए और फिर इसे उपयुक्त निर्देशिका में रखना चाहिए। या आप CA प्रमाणपत्र डाउनलोड कर सकते हैं और फिर उस CA पर भरोसा करने के लिए कॉन्फ़िगरेशन विकल्प ssl-authority-files सेट करें ।

पुस्तक में SSL प्रमाणपत्र प्रबंधन अनुभाग देखें ।


मैं यहां बहुत अजीब स्थिति में हूं, सर्वरफॉल्ट.com / questions / 7648 /… देखें , तो मैं इसे एक कमांड में खींचने में सक्षम होना चाहता हूं।
जेम्स मैकमोहन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.