คุณยอมรับใบรับรอง SSL ผ่านบรรทัดคำสั่ง SVN ได้อย่างไร


20

มีตัวเลือกบรรทัดคำสั่งให้รับใบรับรอง SSL โดยอัตโนมัติโดยใช้ commandline SVN ในลักษณะที่หลีกเลี่ยงพรอมต์หรือไม่?


สิ่งนี้จะเหมาะกับ Stack Overflow หรือไม่
James McMahon

คำตอบ:


20

ขึ้นอยู่กับเวอร์ชันของ SVN ของคุณ อันล่าสุด (1.6+) อันที่มีตามปกติ--non-interactive(ซึ่งคุณต้องการใช้เพื่อหลีกเลี่ยงการแจ้งเตือน) และ--trust-server-certที่อาจทำสิ่งที่คุณต้องการ


วิธีนี้ดูเหมือนว่าจะใช้งานได้ น่าเสียดายที่ใบรับรองบรรทัดคำสั่งยอมรับไม่ได้แก้ปัญหาเริ่มต้นของฉัน โอ้อย่างน้อยฉันก็รู้ว่าอะไรไม่ทำงาน
James McMahon

หากยังไม่สามารถใช้งานได้อาจเป็นเพราะคุณไม่สามารถเข้าถึง / สร้างไดเรกทอรี. subversion ในโฮมไดเร็กตอรี่ของคุณได้ วิธีแก้ปัญหาพบได้ที่นี่: chipsandtv.com/articles/svn-invalid-certificates
icc97

ลิงก์ chipsandtv.com นั้นตายแล้ว มีแหล่งอื่นหรือไม่
Joe McMahon


ฉันต้องใช้ทั้งสองตัวเลือกตอนนี้ใช้งานได้แล้วขอบคุณ!
rogerdpack

10

การใช้--trust-server-certจะไม่ยอมรับใบรับรอง SSL อย่างถาวร คุณถาวรสามารถยอมรับใบรับรอง SSL ผ่านบรรทัดคำสั่งโดยใช้การเปลี่ยนเส้นทางการป้อนข้อมูล--non-interactiveและไม่ได้ใช้

นี่คือตัวอย่างสำหรับ Unix / Linux:

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 จากนั้นตั้งค่าตัวเลือกการกำหนดค่าssl-Authority-filesให้ไว้วางใจ CA นั้น

ดูส่วนการจัดการใบรับรอง SSLในหนังสือ


ฉันอยู่ในสถานการณ์ที่แปลกมากที่นี่ดูserverfault.com/questions/7648/…ดังนั้นฉันจึงต้องการดึงมันออกมาในคำสั่งเดียว
James McMahon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.