Я следовал инструкциям Bitbucket, чтобы добавить свои ключи SSH и использовать git без необходимости аутентификации каждый раз. Яследуйте инструкциям здесь. Затем я получаю следующее сообщение:ssh -T [email protected]
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
Оба ответа, которые я получил, упоминают разрешения, но это я уже проверил. Оба
~/.ssh/id_rsa
и~/.ssh/id_rsa
принадлежат моему пользователю с664
и600
соответственно. Я даже пробовал chmod777
для обоих файлов, но получил то же самое сообщение.
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 domain/user combo, но, возможно, стоит отладить процесс, используя команду SSH с -v
флагом (verbose), чтобы подробно увидеть, что происходит. Поможет такая команда:
ssh -v -T [email protected]
Это -v
будет подробный вывод и -T
установка SSH на «отключить выделение псевдо-tty», поэтому он не будет создавать настоящий интерактивный сеанс; по сути, он просто попытается подключиться к удаленному хосту, а затем разорвет соединение. Полезно для тестирования.
решение2
Как указано в ошибке… проверьте права собственности и разрешения, используя что-то вроде ls -l /home/centos/.ssh/config
.
Он должен принадлежать вам ( centos
) и быть либо в режиме 600
( rw-------
), либо 400
( r--------
).
решение3
Я бы запустил
sudo chown <username>:<username> ~/.ssh/config
Где <username>
находится ваше системное имя пользователя, которое изменяет владельца файла на<username>
Удаление и повторное создание с текущим пользователем (не с sudo) тоже сработает. Я подозреваю, что это было вызвано созданием файла как root.