Ошибка Could not read from remote repository в docker контейнере
Если при попытке подключиться к удалённому репозиторию в docker-контейнере получена ошибка:
git@host.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
Нужно убедиться, что publickey загружен в ssh-agent:
ssh-add -l 4096 SHA256:NcKisT6y97VqwskqZ2UPy7Ub6Voc7jzv0fCYYi92X1I /home/user/.ssh/id_rsa (RSA)
Если ключ не добавлен - добавить:
ssh-add /home/user/.ssh/id_rsa
Далее проверить, что переменная $SSH_AUTH_SOCK содержит путь к ssh-сокету и он прокидывается в docker-контейнер:
docker run -e SSH_AUTH_SOCK=/var/run/ssh-auth.sock -v $(SSH_AUTH_SOCK):/var/run/ssh-auth.sock
Следующий шаг - проверить, что внутри контейнера publickey корректно работает:
ssh -Tvvv git@host.com -p 22222
Если в выводе получена ошибка: send_pubkey_test: no mutual signature algorithm, значит устарел алгоритм по которому генерировался ключ. Нужно либо его перегенерировать использую более современный алгоритм, либо добавить в конфигурацию ssh-клиента опцию принудительного использования ключа с нужным алгоритмом. Например:
Host * PubkeyAcceptedKeyTypes +ssh-rsa
Янчарук А.В.
16.07.2022 06:02