gitlab 5.2 can clone and push by http, but can'

2019-01-26 16:33发布

问题:

I have setup my gitlab server behind a route, and I have mapped my ssh port to 50000 in the server. the gitlab port is 50001.Then I create a test project and try to clone it in another machine,it's ok when I use http.

git remote add origin http://myrouteaddress:50001/user/test.git

but when I try to test it use ssh, it failed with

git remote add origin ssh://git@myrouteaddress:50000/user/test.git

fatal: The remote end hung up unexpectedly

I have test my ssh setting with

ssh -vT git@myrouteaddress -p 50000

and it passed without problem.

I find out the auth with

sudo tail -f /var/log/auth.log

and get the follow

Jun  1 12:29:22 debian sshd[24799]: Accepted publickey for git from mytestpcip port 37848 ssh2
Jun  1 12:29:22 debian sshd[24799]: pam_unix(sshd:session): session opened for user git by (uid=0)
Jun  1 12:29:22 debian sshd[24801]: Received disconnect from mytestpcip: 11: disconnected by user
Jun  1 12:29:22 debian sshd[24799]: pam_unix(sshd:session): session closed for user git

can someone tell me the reason? Thank you very much!

回答1:

I finally got the reason, I have generate the ssh rsa key with wrong parameter. the right way is:

ssh-keygen -t rsa -C "email@email.com"


回答2:

Check your config:

# check gitlab-shell install
sudo -u git -H /home/git/gitlab-shell/bin/check

# check gitlab install
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production

Then, try and use the scp syntax:

git@myrouteaddress:50000:user/test.git
or
gitolite:user/test.git

With a config file in your ~/.ssh/config with

Host gitolite
   Hostname myrootaddress # or ip address
   Port 5000 
   User git
   IdentityFile ~/.ssh/git


标签: ssh gitlab