Ошибка ключа SSH для Bitbucket git: «Неверный владелец или права доступа к /home/centos/.ssh/config»

6581
Josep Valls

Я следовал инструкциям Bitbucket, чтобы добавить мои SSH-ключи и использовать git без необходимости каждый раз проходить аутентификацию. Я следовал инструкциям здесь . Затем я получаю ssh -T git@bitbucket.orgследующее сообщение:

Bad owner or permissions on /home/centos/.ssh/config 

Проверка разрешений SSH показывает:

cat ~/.ssh/config Host bitbucket.org IdentityFile ~/.ssh/id_rsa 

И ~/.ssh/id_rsaсуществует и содержит мой закрытый ключ. Открытый ключ уже добавлен в мои ключи SSH в Bitbucket, и сообщение об ошибке, которое я получаю, отсутствует в руководстве по их устранению.

Система представляет собой CentOS Linux версии 7.0.1406 (Core), git версии 1.8.3.1, ключ SSH был добавлен в Bitbucket 5 часов назад. Не уверен, если это уместно, пользователь centosна машине CentOS был создан автоматически, и я вошел в систему, используя файл идентификации (у меня нет пароля для него). Кроме того, хранилище Bitbucket работает нормально, и я могу работать с ним с другого компьютера без проблем. Оба ключа SSH перечислены под моей учетной записью Bitbucket.

ОБНОВЛЕНИЕ: Оба ответа я получил упоминания о разрешениях, но уже проверил. Оба ~/.ssh/id_rsaи ~/.ssh/id_rsaпринадлежат моему пользователю с 664и 600соответственно. Я даже попробовал chmod 777для обоих файлов, но получил одно и то же сообщение.

1

3 ответа на вопрос

4
JakeGould

Оба ответа я получил, упомянув разрешения, но уже проверил. Оба ~/.ssh/id_rsaи ~/.ssh/id_rsaпринадлежат моему пользователю с 664и 600соответственно. Я даже попробовал chmod 777для обоих файлов, но получил одно и то же сообщение.

777разрешения никогда не будут работать. Разрешения SSH очень ограничены, и их открытие, скорее всего, приведет только к ошибкам. Также в ваших комментариях к другим вопросам говорится, что это ваши текущие разрешения:

-rw-rw-r--. 1 centos centos 47 May 17 20:33 /home/centos/.ssh/config 

Это 664разрешения, которые есть -rw-rw-r--. То, что вы хотите, это 600разрешения, которые будут -rw-------. Пожалуйста, попробуйте это; Сначала измените ~/.ssh/configразрешения следующим образом:

chmod 600 /home/centos/.ssh/config 

Теперь сделайте то же самое для ~/.ssh/id_rsa

chmod 600 /home/centos/.ssh/id_rsa 

Кроме того, я не слишком уверен, какой будет комбинация Bitbucket SSH для домена / пользователя, но, возможно, стоило бы отладить процесс с помощью команды SSH с -vфлагом (verbose), чтобы увидеть подробно, что происходит. Такая команда поможет:

ssh -v -T git@bitbucket.org 

Это -vбудет подробный вывод, а в -Tнастройках SSH будет «отключено псевдотермическое распределение», чтобы он не создавал настоящий интерактивный сеанс; по сути, он просто попытается подключиться к удаленному хосту, а затем разорвать соединение. Полезно для тестирования.

2
BowlesCR

Как показывает ошибка ... проверьте владение и разрешения, используя что-то вроде ls -l /home/centos/.ssh/config.

Он должен принадлежать вам ( centos), а также mode 600( rw-------) или 400( r--------).

Это я уже проверил. -rw-RW-r--. 1 сенто сенто 47 мая 17 20:33 /home/centos/.ssh/config Josep Valls 9 лет назад 0
@JosepValls: Вы в основном говорите, что `/ home / centos / .ssh / config` имеет разрешения` 660`. Это должно быть `600`. JakeGould 9 лет назад 1
0
Jay Kamat

Я бы запустить

sudo chown <username>:<username> ~/.ssh/config 

Где <username>ваше системное имя пользователя, которое меняет владельца файла на<username>

Удаление и повторное создание с текущим пользователем (не с sudo) также будет работать. Я подозреваю, что это было вызвано созданием файла как root.

Это я уже проверил. -rw-RW-r--. 1 сенто сенто 47 мая 17 20:33 /home/centos/.ssh/config Josep Valls 9 лет назад 0

Похожие вопросы