I've installed gitlab on my Linode Kubernetes Cluster and the UI works properly. But I can't clone / push any repository because ssh access fails.
git clone ssh://git@gitlab.example.com:6022/v2o/prova.git
Clone in 'prova' in corso...
git@example.com: Permission denied (publickey,password).
I've created the SSH Key pair and I've added the public one on Gitlab but nothing.
I've read some suggestions from internet and I tried to run ssh -Tv ssh://git@gitlab.example.com:6022
debug1: Will attempt key: /Users/v20/.ssh/id_ed25519 ED25519 SHA256:1246872361472618746238bdhahdahsdhjfa explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/v2o/.ssh/id_ed25519 ED25519 SHA256:5fTy/hjLhfZ7xvLQmkxxjdddMNFiIV7auC2/U7nxsEo explicit
debug1: Authentications that can continue: publickey,password
debug1: No more authentication methods to try.
git@gitlab.example.com: Permission denied (publickey,password).
It pick up the correct key (/Users/v20/.ssh/id_ed25519) but looks like it can't connect anyway.
NOTE 1 I've used a NodeBalancer which expose 6022:22 port - I don't know if this configuration is correct but it's UP on Linode so I guess so
NOTE 2 If I exec on runner task pod, I get an unknown version of git, redis and go. While it is fine with GO, I don't know with git/redis.
git@gitlab-task-runner-7869d8d675-k4s4l:/$ gitlab-rake gitlab:env:info
System information
System:
Current User: git
Using RVM: no
Ruby Version: 2.6.6p146
Gem Version: 2.7.10
Bundler Version:1.17.3
Rake Version: 12.3.3
Redis Version: unknown
Git Version: unknown
Sidekiq Version:5.2.9
Go Version: unknown
GitLab information
Version: 13.5.3
Revision:
Directory: /srv/gitlab
DB Adapter: PostgreSQL
DB Version: 13.0
URL: https://gitlab.example.com
HTTP Clone URL: https://gitlab.example.com/some-group/some-project.git
SSH Clone URL: git@gitlab.example.com:some-group/some-project.git
Using LDAP: no
Using Omniauth: no
GitLab Shell
Version: 13.11.0
Repository storage paths:
- default: /var/opt/gitlab/repo
GitLab Shell path: /home/git/gitlab-shell
Git: /usr/bin/git
NOTE 3 the git path on the message above is wrong, that might be a problem, but I don't know how to change it :/
I managed to solve this problem.
gitlab-shell:
enabled: true
minReplicas: 1
maxReplicas: 1
# Map gitlab-shell to a high-numbered NodePort to support cloning over SSH
service:
type: NodePort
nodePort: 32022
Then I needed to set another variable (in the same file) global.shell.port = 22
.
The Node balancer needed to be on port 22 -> 32022
… and finally it worked like a charm!