Я попытался использовать GitHub, поэтому я последовал за справочной документации. Но когда я использовал эту команду: ssh -vT git@github.com
я получил ошибку, подобную этой:
jacos@Jing:~/.ssh$ ssh -vT git@github.com
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /home/jacos/.ssh/config
debug1: Applying options for github.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to ssh.github.com [207.97.227.248] port 443.
debug1: Connection established.
debug1: identity file /home/jacos/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/jacos/.ssh/id_rsa-cert type -1
debug1: identity file /home/jacos/.ssh/id_dsa type -1
debug1: identity file /home/jacos/.ssh/id_dsa-cert type -1
debug1: identity file /home/jacos/.ssh/id_ecdsa type -1
debug1: identity file /home/jacos/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5github2
debug1: match: OpenSSH_5.1p1 Debian-5github2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: Host '[ssh.github.com]:443' is known and matches the RSA host key.
debug1: Found key in /home/jacos/.ssh/known_hosts:4
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/jacos/.ssh/id_rsa
debug1: Remote: Forced command: gerve gnijuohz 54:da:c2:c1:ca:4a:b9:4d:21:10:5b:42:3f:5a:8e:f7
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 279
Agent admitted failure to sign using the key.
debug1: Trying private key: /home/jacos/.ssh/id_dsa
debug1: Trying private key: /home/jacos/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey).
Агент допущен к подписи с использованием ключа? Нет больше способов аутентификации, чтобы попробовать?
Может кто-нибудь объяснить, что здесь не так?
Спасибо.
Поиск в Google по запросу «Агент признал невозможность подписи с помощью ключа». предполагает, что выход из текущего сеанса, а затем возврат в систему или использование ssh-add
должны решить проблему
Обоснование: Ubuntu использует программу ssh-agent
:
ssh-agent is a program to hold private keys used for public key authentication (RSA, DSA, ECDSA). The idea
is that ssh-agent is started in the beginning of an X-session or a login session, and all other windows or
programs are started as clients to the ssh-agent program. Through use of environment variables the agent can
be located and automatically used for authentication when logging in to other machines using ssh(1).
[ 1110] Если вы только что сгенерировали ключ, ssh-agent
не знает об этом, поэтому он не может подписать его с помощью ключа - именно то, что говорится в сообщении об ошибке.
Чтобы добавить ключ, необходимо либо перезапустить ssh-agent
(то есть выйти из системы и снова войти в нее), либо использовать ssh-add
для повторного сканирования ключей.
См. man ssh-add
и man ssh-agent
для получения дополнительной информации
Используйте github-keygen
для настройки SSH для Github: просто, мощно, безопасно и надежно (более безопасно, чем рекомендует официальная документация).
Отказ от ответственности: я автор этого инструмента .
Правильно ли вы настроили git и ssh-ключи. Если нет, см. здесь .
Взято из github :
Эта проблема также может быть вызвана тем, что ssh не может найти ваши ключи. Убедитесь, что ваш ключ находится в местоположении по умолчанию,
blockquote>~/.ssh
. Если вы снова запуститеssh-keygen
и просто нажмете клавишу ввода во всех трех запросах, он будет размещен здесь автоматически. Затем вы можете добавить содержимое id_rsa.pub в свой аккаунт. Если id_rsa.pub не работает, попробуйте id_dsa.pub. Вам может потребоваться сгенерировать новый ключ dsa с помощьюssh-keygen -t dsa
, если у вас просто есть ключ rsa.П.С. Также иногда URL вводится неправильно. URL-адреса чувствительны к регистру. Обязательно напечатайте их правильно.