我在結帳時收到此錯誤。
svn: E170013: Unable to connect to a repository at URL 'https://some.host/some/repo/'
svn: E120171: Error running context: An error occurred during SSL communication
$svn --版本
svn, version 1.10.4 (r1850624)
compiled Jul 28 2019, 02:44:06 on x86_64-pc-linux-gnu
Copyright (C) 2019 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- using serf 1.3.9 (compiled with 1.3.9)
- handles 'http' scheme
- handles 'https' scheme
The following authentication credential caches are available:
* Plaintext cache in /home/kusan/.subversion
* Gnome Keyring
* GPG-Agent
* KWallet (KDE)
請幫我解決這個問題。我正在全新安裝 Debian 10。提前致謝。
答案1
您可能會遇到此錯誤,因為 TLS 預設的最低版本高於 Subversion 伺服器所使用的版本。
您的選擇是升級 Subversion 伺服器的 TLS 版本(如果您擁有該伺服器),或更改您的 Subversion 儲存庫提供者(如果您付費)。
如果這兩個選項對您不可用(例如,您正在檢查別人的項目,或者您正在從事的工作需要您從他們的伺服器檢查客戶端的項目),那麼您可以選擇降級最低版本SSL 使用的 TLS 版本。您應該注意,這會帶來一些安全風險,因為 TLS 1.0 已有 20 年歷史,現已棄用。
考慮到該警告,您可以更改 SSL conf 檔案。您可以鍵入以下內容找到該檔案在系統上的位置
openssl version -d
您將需要正確的權限才能編輯該檔案。
[我喜歡在編輯任何conf檔案之前對其進行備份,以便您可以在必要時輕鬆回歸]
新增到文件頂部:
openssl_conf = default_conf
在文件末尾添加以下內容:
[ default_conf ]
ssl_conf = ssl_sect
[ssl_sect]
system_default = ssl_default_sect
[ssl_default_sect]
MinProtocol = TLSv1
CipherString = DEFAULT:@SECLEVEL=1
這就是說 TLS 1.0 版本是可接受的最低版本。如果版本 1.1 可以接受,請將 TLSv1 變更為 TLSv1.1
答案2
將 openssl.conf 複製到:
/home/username/openssl.conf
改變這個:
# MinProtocol = TLSv1.1
MinProtocol = TLSv1
然後:
export OPENSSL_CONF=/home/username/openssl.cnf
svn ls https://subversion/svn/path
答案3
我混合了之前的兩個解決方案,效果非常好。
- 將檔案 /usr/lib/ssl/openssl.cnf (在我的例子中是 .cnf)複製到我的家
- 。按照第一個答案中 Madeleine 的指示修改文件
- 導出 OPENSSL_CONF=~/openssl.cnf
非常感謝你們兩位:)
答案4
我在 Windows 中使用命令時遇到了類似的問題git svn clone
,並出現了一些神秘的錯誤:
運行上下文時出錯...
我恢復到git版本2.28.0(從版本2.41.0),並且連接到舊的SVN伺服器成功。