Я настраивал ssh для git следующим образомэтотруководство. Я успешно использовал ключ ранее на другой системе, ожидая, что он будет работать и сейчас. Я проверил его с помощью: И получил следующее:
ssh -v -T [email protected]
OpenSSH_6.4, OpenSSL 1.0.1e-fips 11 февраля 2013 г. debug1: Чтение данных конфигурации /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config строка 51: Применение параметров для * debug1: Подключение к github.com [192.30.252.131] порт 22. debug1: Соединение установлено. debug1: файл идентификации /home/user/.ssh/id_rsa тип 1 debug1: файл идентификации /home/user/.ssh/id_rsa-cert тип -1 debug1: файл идентификации /home/user/.ssh/id_dsa тип -1 debug1: файл идентификации /home/user/.ssh/id_dsa-cert тип -1 debug1: файл идентификации /home/user/.ssh/id_ecdsa тип -1 debug1: файл идентификации /home/user/.ssh/id_ecdsa-cert тип -1 debug1: Включение режима совместимости для протокола 2.0 debug1: Локальная строка версии SSH-2.0-OpenSSH_6.4 debug1: версия удаленного протокола 2.0, версия удаленного программного обеспечения libssh-0.6.0 debug1: нет совпадений: libssh-0.6.0 debug1: SSH2_MSG_KEXINIT отправлено debug1: получен SSH2_MSG_KEXINIT debug1: kex: сервер->клиент aes128-ctr hmac-sha1 нет debug1: kex: клиент->сервер aes128-ctr hmac-sha1 нет debug1: отправка SSH2_MSG_KEX_ECDH_INIT debug1: ожидается SSH2_MSG_KEX_ECDH_REPLY debug1: Ключ хоста сервера: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 debug1: Хост «github.com» известен и соответствует ключу хоста RSA. debug1: Найден ключ в /home/user/.ssh/known_hosts:1 debug1: ssh_rsa_verify: подпись верна debug1: SSH2_MSG_NEWKEYS отправлено debug1: ожидается SSH2_MSG_NEWKEYS debug1: получен SSH2_MSG_NEWKEYS debug1: роуминг не разрешен сервером debug1: SSH2_MSG_SERVICE_REQUEST отправлено debug1: получен SSH2_MSG_SERVICE_ACCEPT debug1: Аутентификации, которые могут быть продолжены: publickey debug1: Следующий метод аутентификации: publickey debug1: Предложение открытого ключа RSA: /home/user/.ssh/id_rsa debug1: Аутентификации, которые могут быть продолжены: publickey debug1: Попытка использования закрытого ключа: /home/user/.ssh/id_dsa debug1: Попытка использования закрытого ключа: /home/user/.ssh/id_ecdsa debug1: Больше нет методов аутентификации, которые можно попробовать. В доступе отказано (открытый ключ).
Помимо очевидного Permission denied (publickey)
, похоже, что ssh не может отличить закрытый ключ id_rsa
от открытого id_rsa.pub
. Оба находятся в /home/user/.ssh/
.
Так я только что отправил свой закрытый ключ[email protected]?
Что я уже попробовал:
#Создать новый открытый ключ ssh-keygen -y -f ~/.ssh/id_rsa > ~/ssh/id_rsa.pub #id был добавлен ssh-добавить -l 2048 ==numbers== home/user/.ssh/id_rsa (RSA) #Проверьте разрешения ls -l ~/.ssh -rw-------. 1 пользователь пользователь 1675 3 сен 09:53 id_rsa -rw-r--r--. 1 пользователь пользователь 381 23 янв. 09:21 id_rsa.pub -rw-r--r--. 1 пользователь пользователь 1371 23 янв. 09:30 known_hosts #Взгляните на /etc/ssh/ssh_conf Хозяин * GSSAPIАутентификация да ForwardX11Trusted да SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT SendEnv LC_IDENTIFICATION LC_ALL ЯЗЫК SendEnv XMODIFIERS ServerAliveInterval 300 ServerAliveCountMax 2 #Мне кажется, все в порядке...
решение1
Нет, вы не отправляли свой закрытый ключ. SSH здесь просто группирует открытые и закрытые ключи по их имени. Например, id_rsa
относится к паре ключей id_rsa
и id_rsa.pub
.
"Предложение открытого ключа" означает, что он отправляет ваш id_rsa.pub
на сервер. Затем сервер генерирует зашифрованный токен аутентификации, используя открытый ключ.
Когда появляется сообщение «попытка использования закрытого ключа», система попытается расшифровать этот токен аутентификации с помощью соответствующего закрытого ключа и отправить его обратно на сервер для проверки.