Настройка новой капли Digital Ocean с ключами SSH. Когда я бегу, ssh-copy-id
то получаю:
ssh-copy-id user@012.345.67.89
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
sign_and_send_pubkey: signing failed: agent refused operation
user@012.345.67.89's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'user@012.345.67.89'"
and check to make sure that only the key(s) you wanted were added.
Однако, когда я затем пытаюсь подключиться к ssh, происходит следующее:
ssh user@012.345.67.89
sign_and_send_pubkey: signing failed: agent refused operation
user@012.345.67.89's password:
После ввода пароля я вхожу в систему нормально, но это, конечно, в первую очередь сводит на нет цель создания ключа SSH. Я решил взглянуть на серверную часть ssh-agent и вот что у меня получилось:
user@012.345.67.89:~# eval `ssh-agent -s`
Agent pid 5715
user@012.345.67.89:~# ssh-add -l
The agent has no identities.
user / .ssh / authorized_keys также содержит запись ключа ssh-rsa, но find -name "keynamehere"
ничего не возвращает.
ssh
remote-access
digital-ocean
ssh-keys
user968270
источник
источник
gpg-agent
для работы SSH. У меня уже естьenable-ssh-support
в ,gpg-agent.conf
но все же сообщение об ошибке. Я нашел в списке рассылки, чтобы запустить этоgpg-connect-agent updatestartuptty /bye
: bugs.debian.org/cgi-bin/bugreport.cgi?bug=835394ssh-add
должен быть вызван,ssh-agent
чтобы узнать о новом закрытом ключе (согласно linux.die.net/man/1/ssh-agent ).ssh-add
сработало! Спасибо.После обновления Fedora 26 до 28 я столкнулся с той же проблемой. И следующие журналы отсутствовали
ВЫПУСК:
сообщение об ошибке не указывает на актуальную проблему. Проблема решена
источник
.ssh/
не было необходимых разрешений, потому что я создал его сам вручную.У меня была такая же проблема в Linux Ubuntu 18 . После обновления с Ubuntu 17.10 каждая команда git будет отображать это сообщение.
Чтобы решить эту проблему, убедитесь, что у вас есть правильные разрешения для
id_rsa
иid_rsa.pub
.Проверьте текущий номер chmod с помощью
stat --format '%a' <file>
. Должно быть 600 дляid_rsa
и 644 дляid_rsa.pub
.Чтобы изменить разрешение на файлы, используйте
Это решило мою проблему с обновлением.
источник
id_rsa.pub
используется в процессе аутентификации клиента?~/.ssh
:chmod 600 id_*
Выполните приведенную ниже команду, чтобы решить эту проблему.
У меня это сработало.
источник
У меня была ошибка при использовании gpg-agent в качестве моего ssh-агента и использовании подраздела gpg в качестве моего ssh-ключа https://wiki.archlinux.org/index.php/GnuPG#gpg-agent .
Я подозреваю, что проблема была вызвана неправильным вводом PIN-кода для gpg, вызванным моей командой sleep + lock, используемой в моей конфигурации sway
bindsym $mod+Shift+l exec "sh -c 'gpg-connect-agent reloadagent /bye>/dev/null; systemctl suspend; swaylock'"
или просто сон / приостановка
Сбросьте tty для ввода пин-кода, чтобы устранить проблему
gpg-connect-agent updatestartuptty /bye > /dev/null
и исправление моей команды sway sleep + lock:
bindsym $mod+Shift+l exec "sh -c 'gpg-connect-agent reloadagent /bye>/dev/null; systemctl suspend; swaylock; gpg-connect-agent updatestartuptty /bye > /dev/null'"
источник
gpg-connect-agent updaterstartuptty /bye > /dev/null
мой ~ / .zshrc, раскомментировав эту строку, я решил мою проблему.К этой ошибке:
Решил вот так:
Спасибо.
источник
Причины появления ошибки SSH могут быть разными:
Некоторые из них могут быть связаны с проблемами, выделенными другими ответами (см. Ответы в этой ветке), некоторые из них могут быть скрыты и, следовательно, потребуют более тщательного исследования.
В моем случае появилось следующее сообщение об ошибке:
Единственный способ найти реальную проблему - вызвать опцию -v verbose, которая привела к печати большого количества отладочной информации:
Обратите внимание, что в строке говорится
key_load_public: No such file or directory
относится к следующей строке, а не к предыдущей.Итак, что на самом деле SSH говорит, так это то, что он не может найти указанный файл открытого ключа,
id_rsa.website.domain.com-cert
и это, похоже, было проблемой в моем случае, поскольку мой файл открытого ключа не содержал-cert
суффикса.Короче говоря: исправление в моем случае заключалось в том, чтобы убедиться, что файл открытого ключа был назван так, как ожидалось. Я никогда не мог предположить этого, не отладив соединение.
Суть в том, ИСПОЛЬЗУЙТЕ РЕЖИМ ГЛОБАЛЬНОЙ ЗАПИСИ SSH (опция -v), чтобы выяснить, что не так, могут быть разные причины, ни одна из которых не может быть найдена в этом / другом потоке.
источник
Это скорее вопрос суперпользователя.
Правильно, у меня такая же ошибка внутри MacOSX SourceTree, однако внутри терминала iTerm2 все работает просто денди.
Однако проблема, похоже, заключалась в том, что у меня работает два
ssh-agent
; (Первый из них
/usr/bin/ssh-agent
(он же MacOSX), а затем установлен/usr/local/bin/ssh-agent
запущенный HomeBrew .Запуск терминала из SourceTree позволил мне увидеть различия
SSH_AUTH_SOCK
, с помощью которыхlsof
я нашел два разныхssh-agent
s, а затем я смог загрузить ключи (используяssh-add
) в систему по умолчаниюssh-agent
(т.е./usr/bin/ssh-agent
) SourceTree снова работал.источник
Да. Запустите ssh-add на клиентской машине. Затем повторите команду ssh-copy-id userserver@012.345.67.89
источник
Для меня проблема заключалась в неправильном копировании / вставке открытого ключа в Gitlab. Копия принесла дополнительную прибыль. Убедитесь, что вы вставляете однострочный ключ.
источник
У меня тоже
sign_and_send_pubkey: signing failed: agent refused operation
ошибка. Но в моем случае проблема была не в томpinentry
пути.В моей
${HOME}/.gnupg/gpg-agent.conf
вpinentry-program
собственности указывал на старый путь pinentry. Исправление пути и перезапускgpg-agent
исправленного для меня.Я обнаружил это, просмотрев журналы с
journalctl -f
. Вот такие строки журнала, которые содержат неверный путь:источник
Мне нужно поделиться, так как я потратил слишком много времени на поиск решения
Я использовал эту команду:
gnome-keyring не поддерживает сгенерированный ключ.
Удаление
-o
аргумента решило проблему.источник
В моем случае проблема заключалась в том, что связка ключей GNOME содержала недопустимую парольную фразу для использования ключа ssh. Потратив неприличное количество времени на устранение этой проблемы, я запустил
seahorse
и обнаружил, что запись содержит пустую строку. Я могу только догадываться, что это было вызвано ошибкой при вводе парольной фразы при первом использовании некоторое время назад, а затем, вероятно, отменой запроса или около того, чтобы вернуться к командной строке. Обновление записи с использованием правильной ключевой фразы сразу решило проблему. Удаление этой записи (из связки ключей «логин») и повторный ввод ключевой фразы в этом первом приглашении (и установка соответствующего флажка) тоже решает эту проблему. Теперь агент получает правильную парольную фразу из связки ключей разблокировки при входе с именем «логин» и больше не запрашивает парольную фразу и не отказывается от операции. Конечно YMMV.источник
Что тут работало: на клиенте
1) ssh-add
2) ssh-copy-id пользователь @ сервер
Ключи были созданы некоторое время назад с помощью простого "ssh-keygen -t rsa". Я отправил сообщение об ошибке, потому что я скопировал открытый ключ ssh с клиента на сервер (с ssh-id-copy) без предварительного запуска ssh-add, поскольку я ошибочно предположил, что добавил их некоторое время назад.
источник
быстрое примечание для тех, кто недавно обновился до «современной» версии ssh [OpenSSH_8.1p1, OpenSSL 1.1.1d FIPS 10 сентября 2019 г.] - поставляется с fedora 31, похоже, больше не принимает старые ключи SHA256 DSA (мои датированы 2006 годом!) - создал новый ключ rsa, общедоступный добавлен в авторизованный, закрытый на клиенте, и все работает отлично.
спасибо за предыдущие предложения, особенно ssh -v был очень полезен
источник