#ubuntu #ssh #ssh-keys
Вопрос:
Пользовательский ключ SSH с именем не используется репо BitBucket.
У меня возникли проблемы с аутентификацией BitBucket SSH на одном сервере.
Ответы здесь на SO рекомендует удалить ключ и воссоздать новый ключ.
Я следовал этой статье, чтобы создать новый ключ: Atlassian настроил SSH-ключ
Поэтому я создал новый ключ (пользовательское имя ключа): /home/username/.ssh/id_bitbucket_rsa
( ./ssh/id_rsa
ключ по умолчанию уже существует, поэтому я не хотел, чтобы другие приложения, использующие этот ключ, ломались)
$ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa): /home/username/.ssh/id_bitbucket_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/username/.ssh/id_bitbucket_rsa
Your public key has been saved in /home/username/.ssh/id_bitbucket_rsa.pub
The key fingerprint is:
В статье упоминается «добавить» ключ следующим образом:
:~/.ssh$ eval `ssh-agent`
Agent pid 4661
:~/.ssh$ ssh-add ~/.ssh/id_bitbucket_rsa
Enter passphrase for /home/username/.ssh/id_bitbucket_rsa:
Identity added: /home/username/.ssh/id_bitbucket_rsa (username@host)
Затем тестирование ключа, похоже, подтверждает, что новый ключ, который я применил в настройках учетной записи BitBucket, работает:
Это в ~
домашней папке:
ssh -T git@bitbucket.org
authenticated via ssh key.
You can use git to connect to Bitbucket. Shell access is disabled
Однако, пытаясь git fetch
проверить, работает ли это: он не запрашивает пароль, который я добавил к новому ключу.
~:
git fetch
git@bitbucket.org: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Там нет запроса пароля, который появляется, так что это говорит мне, что это репо, возможно, все еще используется id_rsa
.
Внутри папки репо:
ssh -T git@bitbucket.org
git@bitbucket.org: Permission denied (publickey).
Как мне обновить репозиторий SSH или BitBucket, чтобы использовать только что созданный пользовательский именованный ключ?
В статье не упоминается ничего лишнего, чтобы «принудительно использовать пользовательский ключ»….
Комментарии:
1. Вы можете добавить
-v[vv]
вssh [-T]
команду, чтобы получить больше информации о том, что происходит. Вам нужно сообщить своему ssh-клиенту, чтобы он использовал новый ключ?: superuser.com/a/2324062. Я побежал
ssh -T
, как вы видели, по разным папкам, что дало мне два результата. Я взгляну на ссылку, чтобы узнать, что упустила из виду статья BitBucket, также не смогла ничего найти на SO.3. Спасибо, этот ответ был почти готов, метод конфигурации был подходящим способом (у меня не
config
было файла в папке), но, как ни странно, мне также пришлось добавитьUser git
, чтобы метод конфигурации работал. Вы не могли бы дать официальный ответ здесь, чтобы я мог отметить ответ? Еще раз спасибо.