Команда ssh-copy-id - это простой инструмент, который позволяет вам установить ключ SSH на авторизованные ключи удаленного сервера. Эта команда упрощает вход с использованием ключа SSH, что устраняет необходимость в пароле для каждого входа, обеспечивая тем самым автоматический процесс входа без пароля. Команда ssh-copy-id является частью OpenSSH, инструмента для удаленного администрирования системы с использованием зашифрованных соединений SSH.
В этой статье показано, как использовать инструмент ssh-copy-id, чтобы сделать вашу авторизацию по SSH более простой и безопасной.
Как установить команду ssh-copy-id
Инструмент ssh-copy-id, часть пакета OpenSSH, доступен во всех основных репозиториях дистрибутива Linux, и вы можете использовать свой менеджер пакетов для установки этой команды.
Чтобы установить инструмент ssh-copy-id в Debian, используйте следующую команду:
судо apt-get update && судо apt-get installopenssh-клиент
После установки OpenSSH вы можете использовать инструмент ssh-copy-id в командной строке.
$ ssh-copy-id
Использование:/usr/являюсь/ssh-copy-id[-час|-?|-f|-n] [-я[identity_file]] [-p порт] [[-или<ssh -илипараметры>]...] [Пользователь@]имя хоста-f: принудительный режим-копировать ключи, не пытаясь проверитьеслиони уже установлены -n: пробный запуск-на самом деле никакие ключи не копируются-час|- ?: распечатать этопомощь
Использовать ssh-copy-id просто, потому что сценарий делает процесс аутентификации с открытым ключом более простым и эффективным. Прежде чем мы углубимся в то, как использовать этот инструмент, мы сначала обсудим, как работает аутентификация с открытым ключом SSH.
ПРИМЕЧАНИЕ : Если вы уже знаете, как работает аутентификация с открытым ключом SSH, не стесняйтесь пропустить эту часть и погрузиться глубже в то, как сразу использовать команду ssh-copy-id.
Аутентификация открытого ключа SSH
Аутентификация с открытым ключом SSH - это метод аутентификации SSH, который позволяет пользователям использовать криптографически сгенерированные ключи для входа на удаленные серверы.
Ключи SSH более безопасны, чем необработанные пароли, и обеспечивают гораздо более эффективный способ входа в SSH. Ключи SSH автоматизированы и после авторизации не требуют ввода пароля при каждом входе в систему.
Чтобы использовать SSH-ключ, мы начнем с его генерации.
Как сгенерировать SSH-ключ
Чтобы сгенерировать SSH-ключ, используйте инструмент ssh-keygen, который входит в состав OpenSSH. Этот инструмент генерирует файлы открытого и закрытого ключей, хранящиеся в каталоге ~ / .ssh, как показано ниже.
$ssh-keygenСоздание общедоступных/пара закрытых ключей RSA.
Входитьфайл в которыйсохранить ключ(/корень/.ssh/id_rsa):
Создан каталог'/root/.ssh'.
Введите кодовую фразу(пустойдлябез парольной фразы):
Введите ту же парольную фразу еще раз:
Ваша идентификация сохраненав /корень/.ssh/id_rsa.
Ваш открытый ключ сохраненв /корень/.ssh/id_rsa.pub.
Ключевой отпечаток пальца:
SHA256: ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ + gI24DptsA root@пользователь Ключизображение randomart:
+ --- [RSA 2048] ---- +
| о = о |
| о. о |
| . . +. +. |
| . + + o .o |
| S +. . |
|, о ..о о +. |
| .И +. +. + + |
| о. = o.o + .o. + .. |
| .o .. oo = + o = o. + |
+ ---- [SHA256] ----- +
Как скопировать SSH-ключ с помощью SSH-copy-id
После того, как мы сгенерировали SSH-ключ, мы можем вручную добавить SSH-ключ в файл authorized_keys удаленного компьютера или использовать команду ssh-copy-id.
Мы будем использовать команду ssh-copy-id, чтобы упростить этот процесс. Просто вызовите команду ssh-copy-id и передайте путь к открытому ключу следующим образом:
$ssh-copy-id-я~/.ssh/id_rsa.pub пользователь@77.134.54.101-п 6576После ввода вышеуказанной команды вы должны получить следующий вывод:
/usr/являюсь/ssh-copy-id: ИНФОРМАЦИЯ: Источник ключа(s)быть установленным:'/root/.ssh/id_rsa.pub'/usr/являюсь/ssh-copy-id: INFO: попытка регистрациивс новым ключом(s), чтобы отфильтровать уже установленные
/usr/являюсь/ssh-copy-id: ИНФОРМАЦИЯ:1ключ(s)осталось установить- есливам предлагается теперь, чтобыустановитьновый пользователь ключей@Пароль 77.134.54.101:
Количество ключей(s)добавлен:1Теперь попробуйте войти в систему с помощью:'ssh -p' 6576 '' [адрес электронной почты защищен] ''и проверьтеделатьуверен, что только ключ(s)вы хотели были добавлены.
ПРИМЕЧАНИЕ : Никогда не копируйте свой закрытый ключ на другую машину.
После успешного выполнения команды попробуйте войти на сервер, используя ключ, который вы загрузили, как показано ниже:
$ssh -п 6576linkfy@77.134.54.101Приведенная выше команда потребует от вас ввести кодовую фразу для вашего открытого ключа, как показано в выходных данных ниже:
Введите кодовую фразудляключ'/root/.ssh/id_rsa':Последний вход: пт мар5 14: 06:16 2021 г.с 173.208.98.186
Приведенная выше команда должна позволить вам войти на удаленный хост, не запрашивая пароль пользователя. Система может предложить вам ввести парольную фразу ключа, который вы установили ранее.
Параметры команды SSH-copy-id
Вы можете изменить работу команды ssh-copy-id, используя предоставленные аргументы. Чтобы просмотреть страницу справки, используйте команду ssh-copy-id -h или команду ssh-copy-id без аргументов.
- -i аргумент : Этот аргумент указывает файл идентификации, который будет использоваться, т. Е. Скопирован на указанный удаленный хост. Если вы не укажете аргумент -i, будут добавлены все файлы в каталоге ~ / .ssh с совпадающим шаблоном * .pub.
- -f флаг : Этот флаг включает принудительный режим, который не проверяет, настроен ли ключ предварительно в authorized_keys на сервере. Флаг -f добавляет ключ, что часто приводит к установке нескольких копий одного и того же ключа на сервере.
- -p флаг : Этот флаг указывает порт SSH для подключения к удаленному хосту. Этот флаг используется, когда порт SSH по умолчанию не используется.
- -n флаг : Этот флаг выполняет пробный запуск, который распечатывает ключи, предназначенные для установки, без их установки на удаленном хосте.
Заключение
В этом руководстве показано, как использовать команду ssh-copy-id для установки ключей SSH на удаленных хостах. Хотя это может быть простой и эффективный метод установки ключей, неправильно настроенные ключи могут привести к проблемам с безопасностью или блокировке системы. Поэтому будьте предельно осторожны, экспериментируя с этим процессом.