ssh-copy-id
Это команда часть пакета OpenSSH, доступен во всех основных репозиториях дистрибутива Linux, и вы можете использовать свой менеджер пакетов для установки этой команды.
Пример установки:
sudo apt-get update && sudo apt-get install openssh-client
После установки, команду можно использовать следующим образом:
$ ssh-copy-id
Usage: /usr/bin/ssh-copy-id [-h|-?|-f|-n] [-i [identity_file]] [-p port] [[-o ] ...] [user@]hostname -f: force mode -- copy keys without trying to check if they are already installed -n: dry run -- no keys are actually copied -h|-?: print this help
Пример:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@77.134.54.101 -p 6576
Результат выполнения:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys user@77.134.54.101’s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh -p '6576' 'user@77.134.54.101'" and check to make sure that only the key(s) you wanted were added.
Параметры команды SSH-copy-id
Вы можете изменить работу команды ssh-copy-id, используя предоставленные аргументы. Чтобы просмотреть страницу справки, используйте команду ssh-copy-id -h или команду ssh-copy-id без аргументов.
-i: указывает файл идентификации. Если вы не указан -i, будут добавлены все файлы в каталоге ~/.ssh с совпадающим шаблоном *.pub.
-f: принудительный режим, не проверяет, есть ли ключ в authorized_keys на сервере.
-p: порт SSH для подключения к удаленному хосту.
-n: выполняет пробный запуск, который распечатывает ключи, предназначенные для установки, без их установки на удаленном хосте.
-v: оталадка
Важно: Никогда не копируйте свой закрытый ключ на другой компьютер.
Вставить ключ в файл authorized_keys
В папке пользователя на удаленном сервере создать файл authorized_keys
в директории .ssh
.
cd ~/ mkdir .shh cd .ssh touch authorized_keys
Вставить свой публичный ключ в этот файл и сохраните.
Выставить нужные разрешения:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Проверить:
restorecon -r -vv ~/.ssh/authorized_keys
Решение проблем
В случае возникновения проблем при авторизации смотрите в конфиг
/etc/ssh/sshd_config
После правки конфига не забудьте перезагрузить сервис
service sshd restart