Если вы столкнулись с неприятным сообщением «ошибка ssh-copy-id: идентификаторы не найдены» при попытке скопировать открытый ключ SSH на удаленный сервер, вы не одиноки. Эта ошибка обычно возникает, когда команде ssh-copy-id не удается найти какие-либо доступные идентификаторы или ключи SSH для копирования. В этой статье мы рассмотрим несколько методов устранения и решения этой проблемы, предназначенных как для начинающих, так и для опытных пользователей. Так что засучите рукава и приступим к поиску решений!
Метод 1: проверка доступности ключа SSH
Первый шаг — убедиться, что на вашем локальном компьютере сгенерирована пара ключей SSH. Для этого откройте терминал и выполните следующую команду:
ls ~/.ssh/id_*
Если вы видите вывод, похожий на «id_rsa» или «id_ed25519», это означает, что у вас уже есть ключи SSH. Если нет, вам необходимо сгенерировать новую пару ключей SSH с помощью команды ssh-keygen.
Метод 2: укажите файл удостоверения
Если у вас есть несколько ключей SSH или ваш файл ключей имеет нестандартное имя, вы можете явно указать файл удостоверения с помощью флага -i. Например:
ssh-copy-id -i ~/.ssh/my_key username@remote_server
Замените my_keyна имя вашего файла ключей SSH, а usernameи remote_serverна соответствующие значения.
Метод 3: использовать пересылку агента SSH
Пересылка агента SSH позволяет использовать локальный агент SSH для аутентификации подключений, сделанных с удаленного сервера. Чтобы включить пересылку агента SSH, выполните следующие действия:
- Откройте локальный файл конфигурации SSH (обычно он находится по адресу
~/.ssh/configили/etc/ssh/ssh_config). - Добавьте в файл следующую строку:
ForwardAgent yes - Сохраните файл и повторите попытку запуска
ssh-copy-id.
Метод 4: вручную скопировать открытый ключ
Если предыдущие методы не сработали, вы можете вручную скопировать содержимое вашего открытого ключа в файл authorized_keysна удаленном сервере. Выполните следующие действия:
- Откройте файл открытого ключа (
~/.ssh/id_rsa.pubили~/.ssh/id_ed25519.pub) с помощью текстового редактора. - Скопируйте все содержимое файла.
- Подключитесь по SSH к удаленному серверу и откройте файл
authorized_keysв текстовом редакторе. - Вставьте содержимое вашего открытого ключа в новую строку файла
authorized_keys. - Сохраните файл и выйдите.
Метод 5: проверка конфигурации SSH-сервера
В некоторых случаях проблема может быть связана с конфигурацией SSH-сервера на удаленном компьютере. Убедитесь, что для параметра PubkeyAuthenticationустановлено значение «да» в файле конфигурации SSH-сервера (обычно он находится по адресу /etc/ssh/sshd_config). Если вы внесете какие-либо изменения, перезапустите SSH-сервер, чтобы изменения вступили в силу.
Ошибку «ssh-copy-id: идентификаторы не найдены» можно устранить различными методами. Начните с проверки доступности ваших ключей SSH и указания файла идентификации, если необходимо. Если проблема не устранена, попробуйте использовать пересылку агента SSH или вручную скопировать открытый ключ в файл authorized_keys. Кроме того, убедитесь, что конфигурация SSH-сервера допускает аутентификацию с открытым ключом. Выполнив эти действия по устранению неполадок, вы сможете устранить эту ошибку и безопасно пройти аутентификацию на удаленных серверах с помощью ключей SSH.