Gitlab: невозможно подключиться с помощью ключа S SH или HTTPS - PullRequest
0 голосов
/ 14 января 2020

Я работаю над проектом и мне нужно клонировать проект Gitlab на мой компьютер. Я использую CentOS 6 на виртуальной машине. У меня нет доступа к серверу Gitlab или его информации, поскольку он принадлежит третьей стороне.

Проблема S SH

Я пробовал несколько способов создания ключей s sh, включая, но не ограничиваясь:

ssh-keygen -t rsa -C "Gitlab" -b 4096
ssh-keygen -t rsa -C "GitLab" -b 2048
ssh-keygen

Ни разу я не устанавливал парольную фразу. Я скопировал /home/jchambers/.ssh/id_rsa.pub в Gitlab соответствующим образом, но это был мой результат:

$ git clone git@localhost:Project/Project_stuff.git
Initialized empty Git repository in /home/jchambers/Project/Project_stuff/.git/
git@localhost's password: 
Permission denied, please try again.

Я никогда не устанавливал парольную фразу, и ни мой пароль Gitlab, ни пароль для входа в систему на компьютере не являются ожидаемым паролем. Вот. За этот вопрос , я запустил ssh -vT git@localhost:

$ ssh -vT git@localhost
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to localhost [::1] port 22.
debug1: Connection established.
debug1: identity file /home/jchambers/.ssh/identity type -1
debug1: identity file /home/jchambers/.ssh/identity-cert type -1
debug1: identity file /home/jchambers/.ssh/id_rsa type 1
debug1: identity file /home/jchambers/.ssh/id_rsa-cert type -1
debug1: identity file /home/jchambers/.ssh/id_dsa type -1
debug1: identity file /home/jchambers/.ssh/id_dsa-cert type -1
debug1: identity file /home/jchambers/.ssh/id_ecdsa type -1
debug1: identity file /home/jchambers/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'localhost' is known and matches the RSA host key.
debug1: Found key in /home/jchambers/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_502' not found

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_502' not found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_502' not found

debug1: Next authentication method: publickey
debug1: Offering public key: /home/jchambers/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/jchambers/.ssh/identity
debug1: Trying private key: /home/jchambers/.ssh/id_dsa
debug1: Trying private key: /home/jchambers/.ssh/id_ecdsa
debug1: Next authentication method: password
git@localhost's password: 

и обновил эти разрешения:

chmod 700 /home/git/.ssh
chmod 600 /home/git/.ssh/authorized_keys

Я не понимаю, что не работает в часть аутентификации ключа publi c.

EDIT *

В соответствии с полученными ответами я изменил имя хоста в команде, сделав его:

$ git clone jessica.chambers@my-gitlab.gitlab-platform.net:Project/Project_stuff.git
Initialized empty Git repository in /home/jchambers/Project/Project_stuff/.git/
ssh: connect to host my-gitlab.gitlab-platform.net port 22: Connection timed out
fatal: The remote end hung up unexpectedly

Я также запустил это снова, но кажется, что время соединения всегда истекает:

$ ssh -vT jessica.chambers@my-gitlab.gitlab-platform.net
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to my-gitlab.gitlab-platform.net [12.34.567.89] port 22.
debug1: connect to address 12.34.567.89 port 22: Connection timed out
ssh: connect to host my-gitlab.gitlab-platform.net port 22: Connection timed out

Проблема HTTPS

Как S SH ситуация казалась бесплодной, я попробовал метод HTTPS. Первоначально это не сработало, поэтому по другому вопросу я внес следующие изменения:

sudo yum install ca-certificates
update-ca-trust force-enable

Это не имело значения. Вот что я получаю, когда пытаюсь клонировать через HTTPS:

$ git clone https://my-gitlab.gitlab-platform.net/gitlab/Project/Project_stuff.git
Initialized empty Git repository in /home/jchambers/Project/Project_stuff/.git/
error:  while accessing https://my-gitlab.gitlab-platform.net/gitlab/Project/Project_stuff.git/info/refs

fatal: HTTP request failed

Мое соединение inte rnet, хотя и через прокси-сервер, работает нормально, в противном случае (например, я могу установить через yum, и используйте веб-браузер). Проект Gitlab требует входа в систему, поэтому, может быть, мне нужно где-то ввести его?

Если кто-нибудь может указать мне правильное направление для проблемы S SH или HTTPS, это было бы очень полезно.

1 Ответ

1 голос
/ 14 января 2020

Я полагаю, что порт S SH вашего GitLab не равен 22. В вашем URL-адресе, использующем S SH, вы по умолчанию используете порт 22, я думаю, это будет то, что отвечает демон вашего сервера S SH, а скорее чем GitLab - следовательно, ваш ключ publi c не работает. То же самое для HTTPS, я предполагаю, что порт по умолчанию не 443.

Если вы можете поделиться более подробной информацией о том, как ваш GitLab установлен и работает - можно было бы дать вам больше указателей.

...