Làm thế nào để bạn chấp nhận chứng chỉ SSL thông qua dòng lệnh SVN?


20

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?


Đây sẽ là một phù hợp tốt hơn tại Stack Overflow?
James McMahon

Câu trả lời:


20

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-certcó thể làm những gì bạn muốn.


Giải pháp này có vẻ hiệu quả. Thật không may, chứng chỉ dòng lệnh chấp nhận không giải quyết được vấn đề ban đầu của tôi. Oh tốt, ít nhất tôi biết những gì không làm việc bây giờ.
James McMahon

Nếu điều này vẫn không hoạt động, có thể là do bạn không thể truy cập / tạo thư mục .subversion trong thư mục chính của bạn. Giải pháp tìm thấy ở đây: chipsandtv.com/articles/svn-invalid-certificates
icc97

Liên kết Chipsandtv.com đã chết. Có nguồn nào khác không?
Joe McMahon


Tôi cuối cùng đã phải sử dụng cả hai tùy chọn, bây giờ nó hoạt động, cảm ơn!
rogerdpack

10

Sử dụng --trust-server-certsẽ 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.


Chà, 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 ptù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 ...
0xC0000022L

2

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

0

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.


Tôi đang ở trong một tình huống rất kỳ lạ ở đây, hãy xem serverfault.com/questions/7648/ , vì vậy tôi muốn có thể thực hiện nó trong một lệnh.
James McMahon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.