Команда ssh-add не добавляет мою личность в ssh-agent
20
Я только что установил Ubuntu 13.10, и я собирался добавить свою личность в мой ssh-agent, поэтому я открыл Терминал и сделал это
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$ ssh-add
bjorgvin@buntu:~$ ssh-add -l
The agent has no identities.
bjorgvin@buntu:~$
ssh-add добавляет личный ключ к агенту аутентификации ssh-agent (1). При запуске без аргументов он добавляет файлы ~ / .ssh / id_rsa, ~ / .ssh / id_dsa, ~ / .ssh / id_ecdsa и ~ / .ssh / identity. [...]
Идентификационные файлы не должны быть доступны для чтения никому, кроме пользователя. Обратите внимание, что ssh-add игнорирует файлы идентификации, если они доступны другим.
Итак, из-за The agent has no identities.ошибки у вас, вероятно, нет этих файлов, или, возможно, эти файлы доступны другим. Вы можете проверить это с помощью следующей команды:
ls -l ~/.ssh
Кроме того, после запуска ssh-addкоманды, запустите, echo $?чтобы увидеть состояние ошибки предыдущей команды. Если статус выхода вернул 0, команда была выполнена успешно. Если состояние выхода вернуло ненулевое значение, команда не выполнилась.
Смотрите man ssh-addдля получения дополнительной информации.
правда, у меня нет этих файлов, и выходное значение ssh-addбыло 1, но не 0. Очевидно, что есть некоторые проблемы с моими разрешениями, так как файлы не создаются. Есть идеи, как я могу это исправить? каталог ~/.sshсуществует (пуст), но он не отображается, когда я это делаюls -l
bjorgvin
Я запустил эту команду, ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsaтак что man ssh-keygen помог, спасибо.
Бьоргвин
1
Это дало намек на импорт в правильном направлении для меня. У меня было несколько ключей ssh, и сначала я должен был добавить правильный ключ, используя ssh-add <имя ключа>. Тогда это сработало как заклинание. thx
paulroho
3
По какой-то причине у меня не было никакого вывода при запуске ssh-addпосле ввода ключевой фразы (это было неудачно в соответствии с $?ретурингом 1. Я попытался безуспешно chmod 600 ~/.ssh/id_rsa* . Я сгенерировал новый ключ с нуля, ssh-keygenи затем он работал. Грустно, но по крайней мере это Хорошо, теперь (ошибочный ключ был сгенерирован с помощью ssh-keygen -t rsa -b 4096 -C "your_email@example.com", я только ssh-keygenвместо этого запустил ).
GabLeRoux
1
Мне пришлось сделать следующее в этом порядке: (при необходимости, сгенерировать новый ключ ssh и обязательно добавьте ключ .pub в github), затем, cd ~/.ssh && ls -lahчтобы увидеть разрешения на чтение / запись в папке .ssh, измените все ключи (s). ) с chmod 400 myKeyзатем, ssh-add **ABSOLUTE**pathToKey если вы не добавите путь ABSOLUTE , он не будет работать. Затем, проверьте это сssh -vT git@github.com
jungledev
3
В дополнение к вышеупомянутым соображениям я обнаружил, что если вы используете альтернативную оболочку, вам может потребоваться настроить ее для загрузки ssh-agent. Например, в Zsh, нужно добавить ssh-agentв pluginsин .zshrc.
Этот метод прекрасно работает на Ubuntu 17.10 с последней версией Zsh
Другие обнаружили, что с id_ed25519ключами, rsaработает без плагина. После добавления ssh-agentк ~/.zshrcперезапустить оболочку с exec "$SHELL"и выполнить:ssh-add ~/.ssh/id_ed25519
Enter passphrase for ~/.ssh/id_ed25519:
Identity added: ~/.ssh/id_ed25519 (user@host)
ssh-add
было 1, но не 0. Очевидно, что есть некоторые проблемы с моими разрешениями, так как файлы не создаются. Есть идеи, как я могу это исправить? каталог~/.ssh
существует (пуст), но он не отображается, когда я это делаюls -l
ssh-keygen -q -t rsa -N 'password' -f ~/.ssh/id_rsa
так что man ssh-keygen помог, спасибо.ssh-add
после ввода ключевой фразы (это было неудачно в соответствии с$?
ретурингом 1. Я попытался безуспешноchmod 600 ~/.ssh/id_rsa*
. Я сгенерировал новый ключ с нуля,ssh-keygen
и затем он работал. Грустно, но по крайней мере это Хорошо, теперь (ошибочный ключ был сгенерирован с помощьюssh-keygen -t rsa -b 4096 -C "your_email@example.com"
, я толькоssh-keygen
вместо этого запустил ).cd ~/.ssh && ls -lah
чтобы увидеть разрешения на чтение / запись в папке .ssh, измените все ключи (s). ) сchmod 400 myKey
затем,ssh-add **ABSOLUTE**pathToKey
если вы не добавите путь ABSOLUTE , он не будет работать. Затем, проверьте это сssh -vT git@github.com
В дополнение к вышеупомянутым соображениям я обнаружил, что если вы используете альтернативную оболочку, вам может потребоваться настроить ее для загрузки ssh-agent. Например, в Zsh, нужно добавить
ssh-agent
вplugins
ин.zshrc
.Этот метод прекрасно работает на Ubuntu 17.10 с последней версией Zsh
Другие обнаружили, что с
id_ed25519
ключами,rsa
работает без плагина. После добавленияssh-agent
к~/.zshrc
перезапустить оболочку сexec "$SHELL"
и выполнить:ssh-add ~/.ssh/id_ed25519
источник