我找到了this topic/thread,但是我的问题是 not RC是由错误的用户运行的。我的SSH克隆URL看起来像这样:ssh://root@my.tld/another-test
,并且访问被拒绝。
但是,HTTP克隆工作正常。
我的公钥也位于我的RC配置文件中。以下是cat /var/log/auth.log
的内容:
Jul 21 01:52:05 CODE sshd[21525]: Accepted publickey for root from [REDACTED] port 50481 ssh2: RSA SHA256:qwerty
Jul 21 01:52:05 CODE sshd[21525]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 21 01:52:05 CODE systemd-logind[847]: New session 1607 of user root.
Jul 21 01:52:06 CODE sshd[21525]: Received disconnect from [REDACTED] port 50481:11: disconnected by user
Jul 21 01:52:06 CODE sshd[21525]: Disconnected from user root [REDACTED] port 50481
Jul 21 01:52:06 CODE sshd[21525]: pam_unix(sshd:session): session closed for user root
Jul 21 01:52:06 CODE systemd-logind[847]: Removed session 1607.
不太确定我在做什么错。
在/root/.rccontrol/community-1/rhodecode.ini
中,我在SSH部分中看到了这一点:
## AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode
ssh.authorized_keys_file_path = ~/.ssh/authorized_keys_rhodecode
我想也许我应该使用ssh.authorized_keys_file_path
或AuthorizedKeysFile
,但是rccontrol status
不喜欢...
RHODECODE CONTROL VERSION: 1.23.0
Failed to parse /root/.rccontrol/community-1/rhodecode.ini
Invalid line ('AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys_rhodecode') (matched as neither section nor keyword) at line 589.
cat /root/.rccontrol/vcsserver-1/vcsserver.log
的输出:
KeyError: 'HEAD'
2019-07-21 02:02:22.883 [1099] INFO [vcsserver.tweens] IP: 127.0.0.1 Request to path: `/git` time: 0.005s
2019-07-21 02:02:22.887 [<1099> ] GNCRN 127.0.0.1 rqt:0.009307 200 51 "POST:/git " usr:- "-" "PycURL/7.43.0.2 libcurl/7.59.0 OpenSSL/1.0.2p zlib/1.2.11 libssh2/1.8.0 nghttp2/1.24.0"
2019-07-21 02:02:50.693 [1099] DEBUG [vcsserver.http_main] method called:assert_correct_path with kwargs:{} context_uid: [REDACTED]
2019-07-21 02:02:50.693 [1099] DEBUG [dogpile.lock] NeedRegenerationException
2019-07-21 02:02:50.693 [1099] DEBUG [dogpile.lock] no value, waiting for create lock
2019-07-21 02:02:50.694 [1099] DEBUG [dogpile.lock] value creation lock <dogpile.cache.region._LockWrapper object at 0x7f42aeecd590> acquired
2019-07-21 02:02:50.694 [1099] DEBUG [dogpile.lock] Calling creation function for not-yet-present value
2019-07-21 02:02:50.694 [1099] DEBUG [dogpile.lock] Released creation lock
2019-07-21 02:02:50.695 [1099] INFO [vcsserver.tweens] IP: 127.0.0.1 Request to path: `/git` time: 0.002s
2019-07-21 02:02:50.695 [<1099> ] GNCRN 127.0.0.1 rqt:0.002517 200 51 "POST:/git " usr:- "-" "PycURL/7.43.0.2 libcurl/7.59.0 OpenSSL/1.0.2p zlib/1.2.11 libssh2/1.8.0 nghttp2/1.24.0"
2019-07-21 02:02:50.869 [1099] DEBUG [vcsserver.http_main] http-app: handling git stream
2019-07-21 02:02:50.869 [1099] DEBUG [vcsserver.http_main] LFS: Detecting if request `/another-test/info/refs` is LFS server path based on content type:``, is_lfs:False
2019-07-21 02:02:50.869 [1099] DEBUG [vcsserver.http_main] LFS: fallback detection by path of: `/another-test/info/refs`, is_lfs:False
2019-07-21 02:02:50.869 [1099] DEBUG [vcsserver.http_main] http-app: starting app handler with <vcsserver.scm_app.GitHandler object at 0x7f42aeecd590> and process request
2019-07-21 02:02:50.878 [1099] INFO [vcsserver.tweens] IP: 127.0.0.1 Request to path: `/another-test/info/refs` time: 0.010s
2019-07-21 02:02:50.879 [<1099> ] GNCRN 127.0.0.1 rqt:0.010726 200 38 "GET:/another-test/info/refs service=git-upload-pack" usr:- "-" "git/2.20.1 (Apple Git-117)"
编辑:目前,我正在通过git config --global credential.helper store
(从本地计算机)使用存储的git凭据,因此可以克隆我的私有存储库。不过,这是不希望的,SSH操作应该可以工作。
编辑2:我没有得到这个,也没有RhodeCode令牌起作用,所以它是git凭证。如果我确定问题/解决方案,请在这里更新。
答案 0 :(得分:1)
我认为也许我应该使用
ssh.authorized_keys_file_path
您应确保公钥位于ssh.authorized_keys_file_path
文件中,即~/.ssh/authorized_keys_rhodecode
如果您将rhodecode.ini
用作per the documentation,则无需触摸rccontrol enable-module ssh {instance-id}
。
except KeyError:
log.exception('LFS, failed to extract data')