Определение простыми словами
ssh-copy-id — это удобный инструмент, который позволяет быстро добавить ваш публичный SSH-ключ в список разрешённых ключей удалённого сервера. Это существенно упрощает аутентификацию по SSH, устраняя необходимость вводить пароль каждый раз при подключении.
Для работы ssh-copy-id требуется, чтобы вы имели доступ к удалённому серверу с вводом пароля, после чего ключ автоматически копируется в нужный файл на сервере.
Сравнение
| Способ добавления ключа | Плюсы | Минусы |
|---|---|---|
| ssh-copy-id | Автоматизация, простота, минимальные ошибки в пути ключа | Требуется заранее настроенный доступ по паролю |
| Ручное копирование ключа (scp/ssh) | Гибкость, контроль | Ручная работа, риск ошибок, требует знаний путей и разрешений |
Кейсы использования
- Настройка безпарольного доступа к VPS или серверу
- Автоматизация развёртывания и администрирования серверов
- Ускорение повторяющихся подключений в рабочей среде
- Облегчение работы с системами управления конфигурациями
- Негативный пример: попытка использовать ssh-copy-id без доступа по паролю, например, если вход разрешён только по ключам — операция не удастся.
Технические детали
Команда ssh-copy-id выполняет следующие действия:
- Подключается к удалённому серверу с помощью SSH и пароля.
- Копирует содержимое локального файла публичного ключа (обычно
~/.ssh/id_rsa.pub) в файл~/.ssh/authorized_keysудалённого пользователя. - Обеспечивает корректные права доступа к файлам ключей.
Пример использования:
ssh-copy-id user@remote-server.example.com
После успешного выполнения подключения по паролю можно использовать SSH без запроса пароля.
Подробнее — в glossary по SSH, SSH-ключи и аутентификация.
🔥 Где это применяется
Частые вопросы
Что такое ssh-copy-id?
Это утилита для копирования SSH открытого ключа на удалённый сервер, чтобы настроить безпарольный вход по SSH.
Можно ли использовать ssh-copy-id без пароля?
Нет, для первого подключения требуется ввести пароль, чтобы скопировать ключ.
Какие файлы изменяет ssh-copy-id на сервере?
Добавляет публичный ключ в файл ~/.ssh/authorized_keys удалённого пользователя.