我在 Linux 服务器上有一个帐户。很久以前,我设置了一个用于登录的 SSH 密钥。它以前可以正常工作,直到现在仍然有效。现在,在我使用 SSH 密钥登录服务器后,我尝试发出$ passwd
,但我得到的是Error: account is locked
。
问题是:服务器上正在运行 SVN 服务。它svn info
使用 https URL。我以前可以svn up
从家用电脑上使用我的服务器帐户密码进行身份验证(实际帐户密码而不是我的 SSH 密钥密码)。现在,当我发出密码时,svn up
它拒绝我的密码。我认为服务器上的密码已过期(或如上一段中的错误消息所示已被锁定)。
但是我无法续订帐户。我只能使用密钥对进行 SSH 登录(即使我的密码/帐户已过期),但我无法更新我的 SVN 存储库,因为 URL 不是https://
(svn+ssh://
后者不起作用)。
是否有一种(后门)方式可以成功svn up
使用我的密钥对(以某种https+ssh://
方式),以便我可以使用我的密钥对而不是我的(过期的)帐户登录凭据进行身份验证?
答案1
您确实应该解决这里的根本原因:帐户被锁定。
也就是说,您可以svn+ssh
通过 切换到协议svn relocate
,假设该svn+ssh
协议实际上可以访问 repo:
svn relocate svn+ssh://username@host/path/to/repo
但是如果您没有等待提交的更改,并且存储库不是太大,那么最简单的方法可能是进行新的签出。