Як ви приймаєте сертифікат SSL через командний рядок SVN?


20

Чи є можливість командного рядка автоматично приймати сертифікат SSL назавжди за допомогою командного рядка SVN таким чином, щоб уникнути запиту?


Чи було б це краще підходити для переповнення стека?
Джеймс Макмахон

Відповіді:


20

Це дещо залежить від вашої версії SVN. Останні (1.6+) мають звичайні --non-interactive(які ви хочете використовувати, щоб уникнути підказок), а також такі, --trust-server-certякі можуть робити те, що ви хочете.


Це рішення, здається, працює. На жаль, прийняття сертифіката командного рядка не вирішило моєї початкової проблеми. Ну добре, принаймні я знаю, що зараз не працює.
Джеймс Макмахон

Якщо це все ще не працює, це може бути тому, що ви не можете отримати доступ / створити каталог .subversion у своєму домашньому каталозі. Тут знайдено рішення: chipsandtv.com/articles/svn-invalid-certificate
icc97

Посилання chipsandtv.com мертве. Чи є інше джерело?
Джо Макмахон


Мені довелося використовувати обидва варіанти, тепер це працює, дякую!
rogerdpack

10

Використання --trust-server-certне приймає назавжди сертифікат SSL. Ви можете назавжди прийняти сертифікат SSL через командний рядок, використовуючи Input Redirection, а не використовуючи --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 -файлів, щоб довіряти цьому CA.

Див. Розділ Управління сертифікатами SSL у книзі.


Я перебуваю в дуже дивній ситуації тут, см serverfault.com/questions/7648 / ... , тому я хочу , щоб мати можливість зняти її в одній команді.
Джеймс Макмахон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.