Утилита ssh-copy-id#

ssh-copy-id - это скрипт, который устанавливает SSH-ключ аутентификации на удаленной машине в качестве авторизованного ключа. ssh-copy-id обеспечивает доступ без запроса пароля для каждого подключения с использованием ssh, а именно упрощает аутентификацию по открытому ключу.

Скрипт копирует открытый ключ на удаленный хост, к которому необходимо получить доступ, и добавляет его в файл ~/.ssh/authorized_keys. Если файла и каталога нет, то они будут созданы.

Синтаксис ssh-copy-id:

ssh-copy-id <options> <username>@<hostname_or_ip_address>

Где:

  • <options> – возможные опции;

  • <username> - имя пользователя;

  • <hostname_or_ip_address> – имя хоста или IP-адрес.

Часто используемые опции утилиты представлены в таблице ниже:

Опция

Описание

-i <identity_file>

Использовать ключи, которые содержатся в указанном идентификационном файле, вместо поиска через команду ssh-add или в default_ID_file. Если имя файла не заканчивается на .pub, то ключи будут добавлены. Если имя файла не указано, то будут использоваться ключи из default_ID_file

-f

Принудительно включить режим, при котором отсутствует проверка наличия ключей на удаленной машине. В этом случае при подключении не требуется закрытый ключ. Использование опции может привести к дублированию ключей на удаленной машине

-n

Провести пробный запуск подключения. Вместо установки ключей их значения просто выводятся в стандартный поток вывода stdout

-s

Включить режим SFTP. При использовании этой опции файл пользователя ~/.ssh/authorized_keys, содержащий открытые ключи, будет загружен, изменен локально и загружен обратно с помощью sftp вместо установки ключей на удаленной машине. Рекомендуется к использованию на серверах, где есть ограничения в использовании команд, которые можно выполнять удаленно

-t <target_path>

Задать путь в целевой системе на удаленной машине, куда необходимо добавить ключи. По умолчанию ~/.ssh/authorized_keys

-p <port_number>

Указать номер порта при подключении

-o <ssh_options>

Указать опции ssh (см. раздел «Утилита ssh»). Рекомендуется использовать настройки (для каждого хоста) в файле конфигурации ssh_config вместо указания опций ssh через командную строку

-x

Включить режим отладки для ssh-copy-id. При использовании опции в стандартный поток вывода будет направлена информация о ходе работы скрипта

-h

Вывести краткое описание использования ssh-copy-id

Примеры использования#

Примеры использования ssh-copy-id:

  • Для копирования ключей на удаленную машину используйте команду:

    ssh-copy-id <username>@<hostname_or_ip_address>
    
  • Для копирования конкретного открытого ключа на удаленную машину воспользуйтесь командой:

    ssh-copy-id -i <path-to-certificate> <username>@<hostname_or_ip_address>
    

    Где <path-to-certificate> – путь к файлу с сертификатом.

  • Для копирования конкретного открытого ключа на удаленную машину с определенным портом используйте команду:

    ssh-copy-id -i <path-to-certificate> -p <port> <username>@<hostname_or_ip_address>
    

    Где <port> - номер порта.