체크아웃하는 동안 이런 오류가 발생합니다.
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을 새로 설치하고 있습니다. Debian 9에서는 잘 작동했습니다. 미리 감사드립니다.
답변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 서버에 성공적으로 연결되었습니다.