FWIW: The exact error is presented oddly, but perhaps that is just how the log message is formatted:
"error: svn: E170001: Authentication required for 'oliver.smith@svn+ssh://svn..."
but the config has:
[svn]
url = svn+ssh://oliver.smith@svn....
I’ve added a script to this which runs 60+ different variations of the configuration:
(rsa|ed25519|ecdsa), (pem|openssh), (keyed|blank), (user-in-url,userName,both)
and some other variants
To run this script, docker compose up
the containers, docker compose exec
into the gitserver, and then python3 /configs/tryconfigs.py --debug
.
I wasn’t able to find any of them that worked successful, producing either E210002 or E170001.
Although part of this might be related to the ssh library, as per @dmitry.pavlenko’s linked https://issues.tmatesoft.com/issue/SVNKIT-759 (the svn server is reporting subgit-svnserver-1 | Unable to negotiate with 192.168.224.3 port 57064: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 [preauth]
)
@ildar.khusainov Just wanted to check in on this for Monday am; as the docker setup shows, svn+ssh does not work in subgit 3.3.13 with a default ubuntu 20.04 setup using any combination of dsa/rsa/ecdsa/ed25519 keys in pem or openssh format, keyed or blank, with a user name in the url or with a userName field.
By changing the Ubuntu version at the top of the two Dockerfiles you can also confirm the same issue exists with 3.3.13 for Ubuntu 18.04 and 21.04.
I tried to keep the docker files pretty basic so it should be easy to see if there is some obvious omission that users need to be aware of when setting up under Ubuntu or determine if it is related to @dmitry.pavlenko’s issue.
kfsone/subgit: Experimental setup of subgit to debug svn+ssh issues (github.com)
linux/wsl
$ cd /tmp
$ git clone https://github.com/kfsone/subgit.git
$ cd subgit
$ docker compose build && docker compose up &
# wait for docker compose up to finish
$ docker compose exec --it gitserver /bin/bash
root@container# python3 /configs/tryconfigs.py