SSH-copy-id

Как добавить свой sshключ на VPS сервер
ssh

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *