Issues with Gitlab Mirror using SSH auth method


I have a gitlab-self-hosted instance that is setup on docker. I want to mirror repository from my gitlab self hosted to my
Source - gitlab self hosted
Target -

1 question::
I have first setup mirroring using token using api calls, which worked. But my first questions is, that how will I update the token I used to set mirroring after the token expires. I don’t want to delete the mirror and set a new mirror. I want a way to edit the token using api of existing mirror.

2 Question and Problem
I also want to setup mirroring using ssh which is more secure than token as gitlab says. But, the documentation provided for it does not help much. I am having multiple issues and I have been seeing a lot of other people facing similar isse as well.

Sometimes I face this error:
13:get remote references: create git ls-remote: exit status 128, stderr: “***** Permission denied (publickey).\r\nfatal: Could not read from remote repository.\n\nPlease make sure you have the correct access rights\nand the repository exists.\n”.

While other times I face other error.

I am also not able to understand the concept of host key. Like talking about by source gitlab instance hosted on docker - what is a host key.

  • What does it mean by detect host key? from where does it detect?
  • If I enter my own host key - what will that be?

What is the username here

I would like you to please give me step by step method on how can I setup mirroring using ssh - when source is self hosted gitlab hosted on docker and the target is

Thankyou! Awaiting your reply.

About my gitlab::
Server it is hosted on - Ubuntu 22.04
Hosted on docker
Self hosted gitlab version - v16.9.1-ee

I want to set Push Mirror.