1

Я следовал инструкциям 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 для обоих файлов, но получил одно и то же сообщение.

3 ответа3

4

Оба ответа я получил, упомянув разрешения, но уже проверил. И ~/.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 (подробный), чтобы увидеть подробно, что происходит. Такая команда поможет:

ssh -v -T git@bitbucket.org

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

2

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

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

0

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .