Apakah ada opsi baris perintah untuk secara otomatis menerima sertifikat SSL secara permanen menggunakan perintah SVN dengan cara yang menghindari prompt?
Apakah ada opsi baris perintah untuk secara otomatis menerima sertifikat SSL secara permanen menggunakan perintah SVN dengan cara yang menghindari prompt?
Jawaban:
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-cert
yang dapat melakukan apa yang Anda inginkan.
Menggunakan --trust-server-cert
tidak 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.
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 ...
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@.*:\/#"
Anda harus dapat mengunduh sertifikat dan kemudian meletakkannya di direktori yang sesuai. Atau Anda dapat mengunduh sertifikat CA dan kemudian mengatur opsi konfigurasi ssl-authority-file untuk mempercayai CA itu.
Lihat bagian Manajemen Sertifikat SSL di buku ini.