Главная > Управление сетью > ssh-copy-id

ssh-copy-id: Копирование SSH-ключа

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

Обзор

ssh-copy-id автоматизирует процесс настройки аутентификации по открытому SSH-ключу, помогая пользователям безопасно подключаться к удаленным серверам без пароля. Команда по умолчанию использует стандартные файлы открытых ключей, такие как ~/.ssh/id_rsa.pub или ~/.ssh/id_dsa.pub, но также позволяет указать конкретный файл ключа.

Основные функции

  • Копирование открытого SSH-ключа на удаленный сервер
  • Автоматическая настройка прав доступа для файла authorized_keys
  • Поддержка настройки SSH-соединений без пароля
  • Предотвращение дублирования ключей при многократном выполнении (идемпотентность)

Основные опции

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

Настройка ключа и соединения

Режимы выполнения

Сгенерированная команда:

Комбинируйте команды.

Описание:

`ssh-copy-id` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

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

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

Базовое использование

ssh-copy-id user@remote_host

Копирует стандартный открытый ключ (например, ~/.ssh/id_rsa.pub) для пользователя 'user' на 'remote_host'. Появится запрос на ввод пароля.

Указание конкретного файла ключа

ssh-copy-id -i ~/.ssh/my_custom_key.pub user@remote_host

Копирует ключ, используя указанный файл открытого ключа (например, ~/.ssh/my_custom_key.pub).

Использование нестандартного порта SSH

ssh-copy-id -p 2222 user@remote_host

Используется, если удаленный сервер запускает службу SSH на порту, отличном от стандартного (22), например, на порту 2222.

Комбинация нескольких опций

ssh-copy-id -i ~/.ssh/another_key.pub -p 2222 user@remote_host

Пример копирования ключа на нестандартный порт с использованием конкретного файла ключа.

Советы и рекомендации

Полезные советы и моменты, на которые стоит обратить внимание при использовании ssh-copy-id.

Предварительная подготовка

Перед использованием ssh-copy-id убедитесь в следующем:

  • Генерация открытого ключа: Если у вас еще нет пары SSH-ключей, сначала создайте их с помощью команды `ssh-keygen`.
  • Доступ к удаленному серверу: У вас должен быть доступ к удаленному серверу по SSH с использованием пароля или другого метода аутентификации. ssh-copy-id запрашивает пароль для первоначальной аутентификации.

Проблемы с правами доступа

ssh-copy-id автоматически устанавливает правильные права доступа для директории `~/.ssh` и файла `~/.ssh/authorized_keys` на удаленном сервере. Если вы копировали ключ вручную, убедитесь, что права установлены корректно с помощью команд `chmod 700 ~/.ssh` и `chmod 600 ~/.ssh/authorized_keys`.

Идемпотентность

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


Те же команды в категории