Masalah

git@gitlab.example.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

Tidak bisa git clone walaupun sudah menambahkan public key ssh pada akun GitLab

Kondisi

  1. Sudah menambahkan Public Key SSH pada akun GitLab
  2. Tidak bisa menjalankan git clone ke repository private walaupun sebagai pemilik repository

Panduan

  1. Lihat error pada SELinux
journalctl -t setroubleshoot 

Error terjadi karena file authorized_key

  1. Lihat SELinux Context pada direktori .ssh gitlab
ls -Z /var/opt/gitlab/.ssh/authorized_keys

# Output:
# unconfined_u:object_r:var_t:s0 /var/opt/gitlab/.ssh/authorized_keys
  1. Ubah SELinux Context pada direktori tersebut
semanage fcontext --add -t ssh_home_t "/var/opt/gitlab/.ssh(/.*)?"
restorecon -R -v /var/opt/gitlab/.ssh
  1. Lihat SELinux Context pada direktori .ssh gitlab
    Pastikan sudah berubah seperti output berikut
ls -Z /var/opt/gitlab/.ssh/authorized_keys

# Output:
# unconfined_u:object_r:ssh_home_t:s0 /var/opt/gitlab/.ssh/authorized_keys
  1. Coba git clone lagi

Referensi