私はgitlabを始めました:
rvmsudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
新しいプロジェクトを作成すると、リモート リポジトリの URL が取得されます。
git remote add origin ssh://git@gitlab.mydomain.com:12035/root/my_project.git
(so not the default 22 ssh port, but 12035)
したがって、gitlab にプッシュしようとすると、次のようになります。
git push --verbose -u origin master
それから私は得る:
Pushing to ssh://git@gitlab.mydomain.com:12035/root/my_project.git
/home/kai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:878:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED)
from /home/kai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:878:in `open'
from /home/kai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:878:in `block in connect'
from /home/kai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/timeout.rb:52:in `timeout'
from /home/kai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:877:in `connect'
from /home/kai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
from /home/kai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:851:in `start'
from /home/git/gitlab-shell/lib/gitlab_net.rb:62:in `get'
from /home/git/gitlab-shell/lib/gitlab_net.rb:17:in `allowed?'
from /home/git/gitlab-shell/lib/gitlab_shell.rb:60:in `validate_access'
from /home/git/gitlab-shell/lib/gitlab_shell.rb:23:in `exec'
from /home/git/gitlab-shell/bin/gitlab-shell:16:in `<main>'
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
したがって、通常のユーザーと gitlab の 2 人のユーザーがいkai
ますgit
。しかし、gitlab
ユーザーには.ssh
ディレクトリがありません。しかし、gitlab にプッシュしようとしているリモート マシンから ssh キーを既に追加しています。キーは次のように追加さ~/.ssh/config
れます。
Host gitlab.mydomain.com
User admin@local.host
# User Administrator
IdentityFile ~/.ssh/gitlab_rsa
PS
エラーに関連するすべての同様の質問をここですでに調べました。しかし、答えが得られなかったか、役に立たなかった
アップデート:
/var/log/auth.log
最後のgit push
試行の行:
Oct 13 06:53:04 80-69-77-159 sudo: kai : TTY=pts/2 ; PWD=/home/git/gitlab ; USER=root ; COMMAND=/usr/bin/less /var/log/auth.log
Oct 13 06:53:04 80-69-77-159 sudo: pam_unix(sudo:session): session opened for user root by kai(uid=0)
したがって、すべての可能なユーザーがそこに表示されます。どういう意味ですか?
更新 2:
私はgitlab-shellを次のようにチェックしました:
sudo -u git -H /home/git/gitlab-shell/bin/check
そして同じを得ました:
http.rb:878:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED)
私はその後に変更gitlab_url
しhttps
ましたconfig.yml
:
sudo -u git -H nano /home/git/gitlab-shell/config.yml
gitlab_url: "http://gitlab.udesk.org/" -> gitlab_url: "https://gitlab.udesk.org/"
今私はから得ますsudo -u git -H /home/git/gitlab-shell/bin/check
:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
今、何が問題になっているのでしょうか?
更新 3:
次に、 を in に変更しself_signed_cert: false
ましself_signed_cert: true
た/home/git/gitlab-shell/config.yml
。
今私はから得ますsudo -u git -H /home/git/gitlab-shell/bin/check
:
Check GitLab API access: OK
Check directories and files:
/home/git/repositories: OK
/home/git/.ssh/authorized_keys: OK
しかし、まだプッシュできません:
Pushing to ssh://git@gitlab.mydomain.com:12035/root/my_project.git
Access denied.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
更新 4:
テスト ssh 行が機能するようになったことに気付きました。
> ssh -vT -p 12035 git@gitlab.mydomain.com
debug1: Authentication succeeded (publickey).
Authenticated to gitlab.mydomain.com ([x.x.x.x]:12035).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Remote: Forced command.
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Remote: Forced command.
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
Welcome to GitLab, Administrator!
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 3264, received 3248 bytes, in 0.7 seconds
Bytes per second: sent 4782.6, received 4759.2
debug1: Exit status 0
更新 5:
に/home/git/gitlab-shell/gitlab-shell.log
対応する行git push --verbose -u origin master
は次のとおりです。
W, [2013-10-13T15:18:05.276231 #24654] WARN -- : gitlab-shell: Access denied for git command <git-receive-pack '/root/myproject.git'> by user with key key-1.
それでも何が問題になる可能性がありますか?