Ssh-copy-id no identities found error
У меня мало клиентских систем, где мне нужно нажать ключ ssh и войти с моего сервера без приглашений на проверку.
Во-первых, на сервере я создал ssh-ключ, как показано ниже, который был успешным
]# ssh-keygen -t rsa -N "" -f my.key
Во-вторых, попробовал скопировать ключ pub, но не с ошибкой идентификации. Я делаю неправильный шаг здесь?
]# ssh-copy-id my.key.pub 10.10.1.1
/usr/bin/ssh-copy-id: ERROR: No identities found
Ответы
Ответ 1
Вам нужно использовать флаг -i
:
ssh-copy-id -i my.key.pub 10.10.1.1
На странице man:
Если задана опция -i, то используется файл идентификации (по умолчанию - ~/.ssh/id_rsa.pub), независимо от того, есть ли какие-либо ключи в вашем ssh-agent. В противном случае, если это: ssh-add -L предоставляет любой вывод, он использует это, предпочитая файл удостоверения
Ответ 2
Выполнить следующую команду
# ssh-add
Если он дает следующую ошибку:
Не удалось открыть соединение с вашим агентом аутентификации
Чтобы удалить эту ошибку, выполните следующую команду:
# eval `ssh-agent`
Ответ 3
Создание ключей ssh на клиенте разрешило это для меня
$ ssh-keygen -t rsa
Ответ 4
Идентификатор ssh-copy не может найти файл id_rsa.pub, который генерируется ssh-keygen в вашей системе. Для завершения выполните следующую команду:
- найдите путь к файлу .pub:
locate *.pub
- скопируйте путь (например:/home/user_name/.ssh/id_rsa.pub) и выполните следующую команду:
ssh-copy-id -i /home/user_name/.ssh/id_rsa.pub hostname
Ответ 5
Вам нужно указать ключ, используя опцию -i.
ssh-copy-id -i your_public_key [email protected]
Спасибо.
Ответ 6
Старая почта, но я столкнулся с этой проблемой сегодня, в конечном итоге погуглил и оказался здесь. Я понял это сам, но подумал, что поделюсь своей проблемой и решением в моем случае, чтобы помочь кому-то еще, кто может иметь такую же проблему.
Выпуск:
[[email protected] [username]]# ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa):
Я ПРОСТО ХИТ ВВОД
/usr/bin/ssh-copy-id: ERROR: No identities found
Решение:
Enter file in which to save the key (/root/.ssh/id_rsa): **/home/[username]/id_rsa**
Убедитесь, что если вы делаете это как пользователь root, вы копируете ключ в каталог пользователя, с которым хотите войти. НЕ корневой пользовательский каталог.
Я выполнял эту операцию в машине, поэтому я полагаю, что ssh-copy-id просто указывает на каталог, в который вы вошли, как по умолчанию.
Надеюсь, это кому-нибудь поможет.
Ответ 7
Самый простой способ:
ssh-keygen
[enter]
[enter]
[enter]
cd ~/.ssh
ssh-copy-id -i id_rsa.pub [email protected]
Att:
Это очень просто.
В руководстве по "ss-keygen" объясняется:
"ОПИСАНИЕ ssh-keygen генерирует, управляет и преобразует ключи аутентификации для ssh (1). ssh-keygen может создавать ключи RSA для использования по протоколу SSH версии 1 и DSA, ECDSA или RSA для использования по протоколу SSH версии 2. Тип ключа, который должен быть сгенерирован, указан с опцией -t. Если вызывается без любые аргументы, ssh-keygen генерирует ключ RSA для использования в соединениях протокола SSH."
Ответ 8
наткнулся на этот, на существующей учетной записи с закрытым ключом, который я скопировал вручную из другого места. поэтому ошибка в том, что открытый ключ отсутствует
так просто сгенерировать один из частных
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
Ответ 9
Я столкнулся с этой проблемой сегодня, когда настраивал ssh между узлом имени и узлом данных в полностью распределенном режиме между двумя виртуальными машинами в CentOS.
Проблема возникла из-за того, что я выполнил указанную ниже команду из узла данных вместо узла имени ssh-copy -i d -i/home/hduser/.ssh/id_ras.pub hduser @HadoopBox2
Поскольку файл открытого ключа не существовал в узле данных, он выдал ошибку.
Ответ 10
В моем случае это отсутствовало расширение .pub
ключа. Я вставил его из буфера обмена и сохранил как mykey
. Следующая команда вернула описанную ошибку:
ssh-copy-id -i mykey localhost
После переименования с mv mykey mykey.pub
работает правильно.
ssh-copy-id -i mykey.pub localhost