Bagaimana Anda menerima sertifikat SSL melalui baris perintah SVN?


20

Apakah ada opsi baris perintah untuk secara otomatis menerima sertifikat SSL secara permanen menggunakan perintah SVN dengan cara yang menghindari prompt?


Apakah ini lebih cocok di Stack Overflow?
James McMahon

Jawaban:


20

Tergantung pada versi SVN Anda. Yang terbaru (1.6+) memiliki yang biasa --non-interactive(yang ingin Anda gunakan untuk menghindari prompt) dan juga --trust-server-certyang dapat melakukan apa yang Anda inginkan.


Solusi ini sepertinya berhasil. Sayangnya sertifikat baris perintah terima tidak menyelesaikan masalah awal saya. Oh well, setidaknya saya tahu apa yang tidak berfungsi sekarang.
James McMahon

Jika ini masih tidak berhasil, mungkin karena Anda tidak dapat mengakses / membuat direktori .subversion di direktori home Anda. Solusi ditemukan di sini: chipsandtv.com/articles/svn-invalid-certificates
icc97

Tautan chipsandtv.com sudah mati. Apakah ada sumber lain?
Joe McMahon


Saya akhirnya harus menggunakan kedua opsi, sekarang berfungsi, terima kasih!
rogerdpack

10

Menggunakan --trust-server-certtidak akan secara permanen menerima sertifikat SSL. Anda dapat secara permanen menerima sertifikat SSL melalui baris perintah menggunakan Input Redirection dan tidak menggunakan --non-interactive.

Berikut ini contoh untuk Unix / Linux:

svn list [TARGET] << EOF
p
EOF

CATATAN: "p" di atas adalah untuk (p) secara permanen.


Yah, versi saya ( 1.6.6 (r40053)) sayangnya sama sekali tidak akan menawarkan opsi p(permanen) sama sekali. Dan karena ini ada di kotak kuno yang tidak dapat saya perbarui lagi ...
0xC0000022L

2

Solusi saya menggunakan harapkan. Itu tidak aman tetapi itu akan bekerja ketika solusi lain tidak.

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.