How To Commit Translations via SVN

Karl Ove Hufthammer karl at huftis.org
Sat May 24 09:05:46 BST 2025


I don’t think the fact that you get a permission denied message from 
‘ssh -vvvT username at gitlab.local-kde.org’ matters. I get that too, and I 
can commit to SVN just fine. Instead, try:

ssh -v svn at svn.kde.org


Karl


Kizito Birabwa skreiv 24.05.2025 01:28:
> Hello,
>
> Thanks for the advice.
>
> The command does not work for me.
>
> This is the output:
>
> $ svn co svn+ssh://svn@svn.kde.org/home/kde/trunk/l10n-support/
> svn: E170013: Unable to connect to a repository at URL 'svn+ssh://svn@svn.kde.org/home/kde/trunk/l10n-support'
> svn: E210002: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
> svn: E210002: Network connection closed unexpectedly
>
> The only Subversion configuration file on my computer is /etc/subversion/config.
> It does not contain the -q option:
>
> $ cat /etc/subversion/config | grep q
> ### arguments, using standard shell quoting for arguments with
>
> I do have the key uploaded, at KDE Identity and at ivent.kde.org.
>
> I followed the instructions at https://invent.kde.org/help/user/ssh.md to configure the
> SSH settings at invent.kde.org.
> The 'gitlab.com' given in those instructions was not recognised, which led me to use
> 'local-kde.org' from the instructions here: https://invent.kde.org/help/instance_configuration
>
> This is the output from following step 2 of 'Verify that you can connect' from the instructions
> at https://invent.kde.org/help/user/ssh.md (with v options to get debugging information):
>
> $ ssh -vvvT kbiid at gitlab.local-kde.org
> OpenSSH_9.8p1, OpenSSL 3.1.7 3 Sep 2024
> debug1: Reading configuration data /home/muwawa/.ssh/config
> debug1: Reading configuration data /etc/ssh/ssh_config
> debug3: /etc/ssh/ssh_config line 53: Including file /etc/ssh/ssh_config.d/50-pclinuxos.conf depth 0
> debug1: Reading configuration data /etc/ssh/ssh_config.d/50-pclinuxos.conf
> debug2: checking match for 'final all' host gitlab.local-kde.org originally gitlab.local-kde.org
> debug3: /etc/ssh/ssh_config.d/50-pclinuxos.conf line 3: not matched 'final'
> debug2: match not found
> debug3: /etc/ssh/ssh_config.d/50-pclinuxos.conf line 5: Including file /etc/crypto-policies/back-ends/openssh.config depth 1 (parse only)
> debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
> debug3: kex names ok: [curve25519-sha256,curve25519-sha256 at libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512]
> debug1: configuration requests final Match pass
> debug1: re-parsing configuration
> debug1: Reading configuration data /home/muwawa/.ssh/config
> debug1: Reading configuration data /etc/ssh/ssh_config
> debug3: /etc/ssh/ssh_config line 53: Including file /etc/ssh/ssh_config.d/50-pclinuxos.conf depth 0
> debug1: Reading configuration data /etc/ssh/ssh_config.d/50-pclinuxos.conf
> debug2: checking match for 'final all' host gitlab.local-kde.org originally gitlab.local-kde.org
> debug3: /etc/ssh/ssh_config.d/50-pclinuxos.conf line 3: matched 'final'
> debug2: match found
> debug3: /etc/ssh/ssh_config.d/50-pclinuxos.conf line 5: Including file /etc/crypto-policies/back-ends/openssh.config depth 1
> debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
> debug3: kex names ok: [curve25519-sha256,curve25519-sha256 at libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512]
> debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/muwawa/.ssh/known_hosts'
> debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/muwawa/.ssh/known_hosts2'
> debug2: resolving "gitlab.local-kde.org" port 22
> debug3: resolve_host: lookup gitlab.local-kde.org:22
> debug3: channel_clear_timeouts: clearing
> debug3: ssh_connect_direct: entering
> debug1: Connecting to gitlab.local-kde.org [2a01:4f8:221:1dd0::2] port 22.
> debug3: set_sock_tos: set socket 3 IPV6_TCLASS 0x48
> debug1: Connection established.
> debug1: identity file /home/muwawa/.ssh/id_rsa type -1
> debug1: identity file /home/muwawa/.ssh/id_rsa-cert type -1
> debug1: identity file /home/muwawa/.ssh/id_ecdsa type -1
> debug1: identity file /home/muwawa/.ssh/id_ecdsa-cert type -1
> debug1: identity file /home/muwawa/.ssh/id_ecdsa_sk type -1
> debug1: identity file /home/muwawa/.ssh/id_ecdsa_sk-cert type -1
> debug1: identity file /home/muwawa/.ssh/id_ed25519 type 3
> debug1: identity file /home/muwawa/.ssh/id_ed25519-cert type -1
> debug1: identity file /home/muwawa/.ssh/id_ed25519_sk type -1
> debug1: identity file /home/muwawa/.ssh/id_ed25519_sk-cert type -1
> debug1: identity file /home/muwawa/.ssh/id_xmss type -1
> debug1: identity file /home/muwawa/.ssh/id_xmss-cert type -1
> debug1: Local version string SSH-2.0-OpenSSH_9.8
> debug1: Remote protocol version 2.0, remote software version OpenSSH_8.9p1 Ubuntu-3ubuntu0.13
> debug1: compat_banner: match: OpenSSH_8.9p1 Ubuntu-3ubuntu0.13 pat OpenSSH* compat 0x04000000
> debug2: fd 3 setting O_NONBLOCK
> debug1: Authenticating to gitlab.local-kde.org:22 as 'kbiid'
> debug3: record_hostkey: found key type ED25519 in file /home/muwawa/.ssh/known_hosts:2
> debug3: load_hostkeys_file: loaded 1 keys from gitlab.local-kde.org
> debug1: load_hostkeys: fopen /home/muwawa/.ssh/known_hosts2: No such file or directory
> debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
> debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
> debug3: order_hostkeyalgs: have matching best-preference key type ssh-ed25519-cert-v01 at openssh.com, using HostkeyAlgorithms verbatim
> debug3: send packet: type 20
> debug1: SSH2_MSG_KEXINIT sent
> debug3: receive packet: type 20
> debug1: SSH2_MSG_KEXINIT received
> debug2: local client KEXINIT proposal
> debug2: KEX algorithms: curve25519-sha256,curve25519-sha256 at libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,ext-info-c,kex-strict-c-v00 at openssh.com
> debug2: host key algorithms: ssh-ed25519-cert-v01 at openssh.com,ecdsa-sha2-nistp256-cert-v01 at openssh.com,ecdsa-sha2-nistp384-cert-v01 at openssh.com,ecdsa-sha2-nistp521-cert-v01 at openssh.com,sk-ssh-ed25519-cert-v01 at openssh.com,sk-ecdsa-sha2-nistp256-cert-v01 at openssh.com,rsa-sha2-512-cert-v01 at openssh.com,rsa-sha2-256-cert-v01 at openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519 at openssh.com,sk-ecdsa-sha2-nistp256 at openssh.com,rsa-sha2-512,rsa-sha2-256
> debug2: ciphers ctos: aes256-gcm at openssh.com,chacha20-poly1305 at openssh.com,aes256-ctr,aes128-gcm at openssh.com,aes128-ctr
> debug2: ciphers stoc: aes256-gcm at openssh.com,chacha20-poly1305 at openssh.com,aes256-ctr,aes128-gcm at openssh.com,aes128-ctr
> debug2: MACs ctos: hmac-sha2-256-etm at openssh.com,hmac-sha1-etm at openssh.com,umac-128-etm at openssh.com,hmac-sha2-512-etm at openssh.com,hmac-sha2-256,hmac-sha1,umac-128 at openssh.com,hmac-sha2-512
> debug2: MACs stoc: hmac-sha2-256-etm at openssh.com,hmac-sha1-etm at openssh.com,umac-128-etm at openssh.com,hmac-sha2-512-etm at openssh.com,hmac-sha2-256,hmac-sha1,umac-128 at openssh.com,hmac-sha2-512
> debug2: compression ctos: none,zlib at openssh.com,zlib
> debug2: compression stoc: none,zlib at openssh.com,zlib
> debug2: languages ctos:
> debug2: languages stoc:
> debug2: first_kex_follows 0
> debug2: reserved 0
> debug2: peer server KEXINIT proposal
> debug2: KEX algorithms: curve25519-sha256 at libssh.org,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256,kex-strict-s-v00 at openssh.com
> debug2: host key algorithms: ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256
> debug2: ciphers ctos: chacha20-poly1305 at openssh.com,aes256-gcm at openssh.com,aes128-gcm at openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
> debug2: ciphers stoc: chacha20-poly1305 at openssh.com,aes256-gcm at openssh.com,aes128-gcm at openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
> debug2: MACs ctos: hmac-sha2-512-etm at openssh.com,hmac-sha2-256-etm at openssh.com,umac-128-etm at openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128 at openssh.com
> debug2: MACs stoc: hmac-sha2-512-etm at openssh.com,hmac-sha2-256-etm at openssh.com,umac-128-etm at openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128 at openssh.com
> debug2: compression ctos: none,zlib at openssh.com
> debug2: compression stoc: none,zlib at openssh.com
> debug2: languages ctos:
> debug2: languages stoc:
> debug2: first_kex_follows 0
> debug2: reserved 0
> debug3: kex_choose_conf: will use strict KEX ordering
> debug1: kex: algorithm: curve25519-sha256 at libssh.org
> debug1: kex: host key algorithm: ssh-ed25519
> debug1: kex: server->client cipher: aes256-gcm at openssh.com MAC: <implicit> compression: none
> debug1: kex: client->server cipher: aes256-gcm at openssh.com MAC: <implicit> compression: none
> debug3: send packet: type 30
> debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
> debug3: receive packet: type 31
> debug1: SSH2_MSG_KEX_ECDH_REPLY received
> debug1: Server host key: ssh-ed25519 SHA256:zHdK2R/S6s5Oj71N0s8LHWCXXsUt+DCztd+GjzW9KlU
> debug3: record_hostkey: found key type ED25519 in file /home/muwawa/.ssh/known_hosts:2
> debug3: load_hostkeys_file: loaded 1 keys from gitlab.local-kde.org
> debug1: load_hostkeys: fopen /home/muwawa/.ssh/known_hosts2: No such file or directory
> debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
> debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
> debug1: Host 'gitlab.local-kde.org' is known and matches the ED25519 host key.
> debug1: Found key in /home/muwawa/.ssh/known_hosts:2
> debug3: send packet: type 21
> debug1: ssh_packet_send2_wrapped: resetting send seqnr 3
> debug2: ssh_set_newkeys: mode 1
> debug1: rekey out after 4294967296 blocks
> debug1: SSH2_MSG_NEWKEYS sent
> debug1: expecting SSH2_MSG_NEWKEYS
> debug3: receive packet: type 21
> debug1: ssh_packet_read_poll2: resetting read seqnr 3
> debug1: SSH2_MSG_NEWKEYS received
> debug2: ssh_set_newkeys: mode 0
> debug1: rekey in after 4294967296 blocks
> debug2: KEX algorithms: curve25519-sha256,curve25519-sha256 at libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,ext-info-c,kex-strict-c-v00 at openssh.com
> debug2: host key algorithms: ssh-ed25519-cert-v01 at openssh.com,ecdsa-sha2-nistp256-cert-v01 at openssh.com,ecdsa-sha2-nistp384-cert-v01 at openssh.com,ecdsa-sha2-nistp521-cert-v01 at openssh.com,sk-ssh-ed25519-cert-v01 at openssh.com,sk-ecdsa-sha2-nistp256-cert-v01 at openssh.com,rsa-sha2-512-cert-v01 at openssh.com,rsa-sha2-256-cert-v01 at openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519 at openssh.com,sk-ecdsa-sha2-nistp256 at openssh.com,rsa-sha2-512,rsa-sha2-256
> debug2: ciphers ctos: aes256-gcm at openssh.com,chacha20-poly1305 at openssh.com,aes256-ctr,aes128-gcm at openssh.com,aes128-ctr
> debug2: ciphers stoc: aes256-gcm at openssh.com,chacha20-poly1305 at openssh.com,aes256-ctr,aes128-gcm at openssh.com,aes128-ctr
> debug2: MACs ctos: hmac-sha2-256-etm at openssh.com,hmac-sha1-etm at openssh.com,umac-128-etm at openssh.com,hmac-sha2-512-etm at openssh.com,hmac-sha2-256,hmac-sha1,umac-128 at openssh.com,hmac-sha2-512
> debug2: MACs stoc: hmac-sha2-256-etm at openssh.com,hmac-sha1-etm at openssh.com,umac-128-etm at openssh.com,hmac-sha2-512-etm at openssh.com,hmac-sha2-256,hmac-sha1,umac-128 at openssh.com,hmac-sha2-512
> debug2: compression ctos: none,zlib at openssh.com,zlib
> debug2: compression stoc: none,zlib at openssh.com,zlib
> debug2: languages ctos:
> debug2: languages stoc:
> debug2: first_kex_follows 0
> debug2: reserved 0
> debug3: send packet: type 5
> debug3: receive packet: type 7
> debug1: SSH2_MSG_EXT_INFO received
> debug3: kex_input_ext_info: extension server-sig-algs
> debug1: kex_ext_info_client_parse: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519 at openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256 at openssh.com,webauthn-sk-ecdsa-sha2-nistp256 at openssh.com>
> debug3: kex_input_ext_info: extension publickey-hostbound at openssh.com
> debug1: kex_ext_info_check_ver: publickey-hostbound at openssh.com=<0>
> debug3: receive packet: type 6
> debug2: service_accept: ssh-userauth
> debug1: SSH2_MSG_SERVICE_ACCEPT received
> debug3: send packet: type 50
> debug3: receive packet: type 51
> debug1: Authentications that can continue: publickey
> debug3: start over, passed a different list publickey
> debug3: preferred publickey,keyboard-interactive,password
> debug3: authmethod_lookup publickey
> debug3: remaining preferred: keyboard-interactive,password
> debug3: authmethod_is_enabled publickey
> debug1: Next authentication method: publickey
> debug3: ssh_get_authentication_socket_path: path '/tmp//ssh-XXXXXXKwuYr5/agent.4976'
> debug1: get_agent_identities: bound agent to hostkey
> debug1: get_agent_identities: ssh_fetch_identitylist: agent contains no identities
> debug1: Will attempt key: /home/muwawa/.ssh/id_rsa
> debug1: Will attempt key: /home/muwawa/.ssh/id_ecdsa
> debug1: Will attempt key: /home/muwawa/.ssh/id_ecdsa_sk
> debug1: Will attempt key: /home/muwawa/.ssh/id_ed25519 ED25519 SHA256:GXHfwHUGCjXbhdtvSwRkXDQTMK/9Hm9ODIReSviorv4
> debug1: Will attempt key: /home/muwawa/.ssh/id_ed25519_sk
> debug1: Will attempt key: /home/muwawa/.ssh/id_xmss
> debug2: pubkey_prepare: done
> debug1: Trying private key: /home/muwawa/.ssh/id_rsa
> debug3: no such identity: /home/muwawa/.ssh/id_rsa: No such file or directory
> debug1: Trying private key: /home/muwawa/.ssh/id_ecdsa
> debug3: no such identity: /home/muwawa/.ssh/id_ecdsa: No such file or directory
> debug1: Trying private key: /home/muwawa/.ssh/id_ecdsa_sk
> debug3: no such identity: /home/muwawa/.ssh/id_ecdsa_sk: No such file or directory
> debug1: Offering public key: /home/muwawa/.ssh/id_ed25519 ED25519 SHA256:GXHfwHUGCjXbhdtvSwRkXDQTMK/9Hm9ODIReSviorv4
> debug3: send packet: type 50
> debug2: we sent a publickey packet, wait for reply
> debug3: receive packet: type 51
> debug1: Authentications that can continue: publickey
> debug1: Trying private key: /home/muwawa/.ssh/id_ed25519_sk
> debug3: no such identity: /home/muwawa/.ssh/id_ed25519_sk: No such file or directory
> debug1: Trying private key: /home/muwawa/.ssh/id_xmss
> debug3: no such identity: /home/muwawa/.ssh/id_xmss: No such file or directory
> debug2: we did not send a packet, disable method
> debug1: No more authentication methods to try.
> kbiid at gitlab.local-kde.org: Permission denied (publickey).
>
> Regards,
>
> Kizito Birabwa
> KDE Luganda Team
>
>
> On Friday, 23 May 2025 at 22:25:13 BST, Karl Ove Hufthammer <karl at huftis.org> wrote:
>
>
>
>
>
> Hi!
>
> All this shouldn’t be necessary. You shouldn’t have to edit the
> ~/.ssh/config at all, and you shouldn’t use a password. And
> local-kde.org isn’t involved (I have never heard of this server).
>
> Does simply running this command work:
>
> svn co svn+ssh://svn@svn.kde.org/home/kde/trunk/l10n-support/
>
> ?
>
> Then everything should be OK. If not, have you uploaded your (public!)
> SSH key at https://invent.kde.org/-/user_settings/ssh_keys?
>
>
> Karl
>
>
> Kizito Birabwa skreiv 23.05.2025 23:06:
>> Hello again,
>>
>> Additional information:
>>
>> I already have ssh settings for committing to Qt Localization's Gerrit code review and they work - they have been working since last year and still do.
>>
>> I am attempting to use the same key for Qt Localization and for KDE.
>>
>> In my ~/.ssh/config file I have added settings for KDE's GitLab in addition to the Qt ones:
>> Host local-kde.org
>> Port 443
>> User same as my KDE Identity user name
>> PreferredAuthentications publickey
>> IdentityFile ~/.ssh/.ssh/id_ed25519
>>
>> I have also added the svn keys to the known_hosts file. It now has these as well as the gitlab.local-kde.org key.
>>
>> My ~/.ssh directory contains just one private key and its public counterpart and the files config and known_hosts.
>>
>> Regards,
>>
>> Kizito Birabwa
>> KDE Luganda Team
>>
>>
>> On Friday, 23 May 2025 at 17:51:41 BST, Johnny Jazeix <jazeix at gmail.com> wrote:
>>
>>
>>
>>
>>
>> Hi;
>>
>>    From https://community.kde.org/Infrastructure/Subversion/2020_Changes,
>> can you check if you have added your SSH keys on KDE's GitLab at
>> invent.kde.org ?
>> Then, it should work without having to provide your account when
>> checkouting or committing.
>>
>> Ben added you in the list in
>> https://invent.kde.org/sysadmin/repo-management/-/commit/a309e8e1eaaf121820365c6cb93a767fd5913dea
>> (kbiid account).
>>
>> Cheers,
>>
>> Johnny
>>
>> Le ven. 23 mai 2025 à 18:39, Kizito Birabwa <kbirabwa at yahoo.co.uk> a écrit :
>>> Yes
>>>
>>>      Regards,
>>>
>>>      Kizito Birabwa
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Friday, 23 May 2025 at 13:38:16 BST, Josep M. Ferrer <txemaq at saragata.net> wrote:
>>>
>>>
>>>
>>>
>>>
>>> El 21/5/25 a les 2:51, Kizito Birabwa ha escrit:
>>>> Hello,
>>>>
>>>> I am currently the Luganda translation team. I have been given a developer account and so should be able to commit work into the svn repositories.
>>>>
>>>> I would like some help for I have lost my way at some point.
>>>>
>>>> I have the account with KDE Identity username and password (represented here as 'mykdeidentity' and 'mykdepasswd').
>>>> The command:
>>>>
>>>> svn checkout --username mykdeidenty --password mykdepasswd svn://svn.kde.org/home/kde/trunk/l10n-kf6/lg/messages messages
>>>> appeaed to work and created a working copy
>>>>
>>>> However, when I tried to commit the changes that I had made, the command:
>>>>
>>>> svn commit --username mykdeidenty  --password mykdepasswd
>>>>
>>>> failed after I had completed the commit message in the editor that opened. The failure message was:
>>>>
>>>> svn: E170001: Commit failed (details follow):
>>>> svn: E170001: Authorization failed
>>>> svn: E170001: Your commit message was left in a temporary file:
>>>> svn: E170001:    '/home/muwawa/nls/Ebikyusibwa/kde6/po/lg/messages/svn-commit.1.tmp'
>>> It seems an issue with with your SVN account.
>>>
>>> When you got your developer account, did you ask explicitly for an SVN
>>> account?
>>>
>>> Best regards,
>>>
>>> Josep M. Ferrer
>>>
>>>
>>>
>>>> I have searched for guidance online but have become thouroughly confused. The steps up to getting a developer account with the right permissions are clear. Also there is a lot showing the commands that have failed for me. However the bits in the middle, between getting the account and executing those commands are what I am struggling to find.
>>>>
>>>> I hope someone can help and point me to some sort of step-by-step guide on how to set up committing to the kde svn.
>>>>
>>>> Regards,
>>>>
>>>> Kizito Birabwa
>>>> KDE Luganda Team


-- 
Karl Ove Hufthammer


More information about the kde-i18n-doc mailing list