Có tùy chọn dòng lệnh để tự động chấp nhận chứng chỉ SSL vĩnh viễn bằng cách sử dụng dòng lệnh SVN theo cách tránh dấu nhắc không?
Có tùy chọn dòng lệnh để tự động chấp nhận chứng chỉ SSL vĩnh viễn bằng cách sử dụng dòng lệnh SVN theo cách tránh dấu nhắc không?
Câu trả lời:
Nó phụ thuộc phần nào vào phiên bản SVN của bạn. Những cái gần đây (1.6+) có thông thường --non-interactive
(mà bạn muốn sử dụng để tránh lời nhắc) và cũng --trust-server-cert
có thể làm những gì bạn muốn.
Sử dụng --trust-server-cert
sẽ không chấp nhận vĩnh viễn chứng chỉ SSL. Bạn có thể chấp nhận vĩnh viễn chứng chỉ SSL thông qua dòng lệnh bằng cách sử dụng Chuyển hướng đầu vào và không sử dụng --non-interactive
.
Đây là một ví dụ cho Unix / Linux:
svn list [TARGET] << EOF
p
EOF
LƯU Ý: "p" ở trên là dành cho (p) vĩnh viễn.
1.6.6 (r40053)
thật không may , phiên bản của tôi ( ) đơn giản là sẽ không cung cấp p
tùy chọn (vĩnh viễn). Và vì đây là trên một chiếc hộp cổ mà tôi không thể cập nhật nữa ...
Giải pháp của tôi sử dụng mong đợi. Nó không an toàn nhưng nó sẽ hoạt động khi các giải pháp khác sẽ không.
#!/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@.*:\/#"
Bạn sẽ có thể tải chứng chỉ và sau đó đặt nó vào thư mục thích hợp. Hoặc bạn có thể tải xuống chứng chỉ CA và sau đó đặt tùy chọn cấu hình ssl-thẩm quyền-tệp để tin tưởng CA.
Xem phần Quản lý chứng chỉ SSL trong sách.