У меня есть следующий файл в ~/.ssh который имеет мой открытый ключ SSH:

  • authorized_keys

Затем я запускаю следующее и добавляю свою фразу-пароль и не получаю ошибок или предупреждений:

$ ssh-add ~/.ssh/authorized_keys

Когда я пытаюсь перечислить отпечатки пальцев, я получаю:

$ ssh-add -l
> The agent has no identities.

Когда я перезапущу ssh-add и продолжу работу с echo $? он возвращает код выхода 1 означающий, что произошел сбой. Эта документация говорит, что код 1 означает, что ошибка была вызвана:

Invalid identification string of SSH-protocol

Что это значит точно, и как мне решить это?

1 ответ1

1

ssh-add загружает закрытые ключи, а не открытые ключи. От man ssh-add:

DESCRIPTION
     ssh-add adds private key identities to the authentication agent, ssh-agent(1).  When run without arguments, it adds
     the files ~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and ~/.ssh/identity.  After loading a
     private key, ssh-add will try to load corresponding certificate information from the filename obtained by appending
     -cert.pub to the name of the private key file.  Alternative file names can be given on the command line.

Попробуйте запустить его без аргументов.

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