ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как скопировать ключи SSH

Как скопировать ключи SSH

Чтобы лучше понять нашу тему, нам сначала нужно обсудить, что такое ключи SSH. Ключ SSH, также известный как ключ Secure Shell, представляет собой учетные данные для доступа к сетевому протоколу для SSH. Он является подлинным и зашифрованным, что обеспечивает чрезвычайно безопасный протокол. Он используется для того, чтобы разные машины взаимодействовали друг с другом в незащищенной открытой сети. Благодаря своей аутентификации он делает связь зашифрованной и безопасной. Этот протокол используется для удаленной передачи файлов и удаленного доступа к операционным системам.

Чтобы найти ключ SSH, нам нужно открыть терминал на нашем устройстве и ввести команду «ls -al ~/.ssh». Эта команда сообщает нам, присутствуют ли там существующие ключи SSH или нет. Точно так же мы можем использовать команду при работе с ключами SSH. Команда называется командой ssh-copy-id. Эта команда помогает нам установить ключи SSH на удаленном компьютере или авторизованные ключи сервера. Это помогает нам с входом в систему с помощью ключа SSH, что устраняет необходимость каждый раз вводить идентификатор входа и пароль. Команда SSH является частью инструмента OpenSSH, который используется для выполнения служб администрирования на удаленных устройствах с помощью зашифрованных соединений.

 

Копирование ключа SSH

Важно иметь в виду, что ключи SSH состоят из открытого ключа и закрытого ключа, прежде чем вы начнете. Открытый ключ передается удаленному серверу и используется для шифрования соединения, в то время как закрытый ключ хранится на вашем локальном компьютере и используется для расшифровки соединения.

Чтобы скопировать ключ SSH в Ubuntu, вам необходимо иметь существующую пару ключей SSH. Если у вас его нет, вы можете создать его с помощью команды ssh-keygen. Теперь, используя команду SSH keygen, мы создаем пару ключей, используя параметр -t, чтобы указать тип ключа для генерации (например, rsa, dsa и т. д.).

andreyex@linux-VirtualBox:~$ ssh-keygen -t rsa

 

Нажмите «Enter», чтобы выполнить команду. После указания местоположения и имени файла он получает от вас кодовую фразу. Чтобы защитить свой закрытый ключ, вы можете использовать парольную фразу в качестве дополнительного шага безопасности. Если вы введете кодовую фразу, вам будет предложено ввести ее всякий раз, когда вы используете ключ для подключения к удаленному серверу. Важно использовать надежную парольную фразу, которую трудно угадать. Вы можете ввести любую фразу по вашему желанию. В нашем случае мы оставляем его пустым. Для этого вводим в него «empty». После ввода этих данных мы получаем следующий отображаемый вывод:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/linux/.ssh/id_rsa): /home/linux/key.txt
/home/linux/key.txt already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Passphrases do not match.  Try again.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/linux/key.txt
Your public key has been saved in /home/linux/key.txt.pub
The key fingerprint is:
SHA256:zCpQ+8kEraxbmY90qq9m3JNNt+CEw905MfvSuJbyrps linux@linux-VirtualBox
The key's randomart image is:
+---[RSA 3072]----+
|                 |
|     .           |
|    o .          |
|   o + oo        |
|  ..+o..S=       |
|   o+*=o*        |
| ...*B*o B       |
|  +++*+.* o      |
| o+++.EB+o       |
+----[SHA256]-----+

 

Команда ssh-keygen создает два файла: файл закрытого ключа (с расширением .pem или .ppk) и файл открытого ключа (с расширением .pub). Его можно увидеть в следующих фрагментах файлов с именем «key» вместе с его расширением, которое сохраняется в домашнем каталоге.

Как скопировать ключи SSH

 

После создания пары ключей вы можете использовать команду cat, чтобы увидеть, что содержит открытый ключ. Домашняя папка содержит открытый ключ с именем файла «key.pub». Чтобы просмотреть содержимое открытого ключа, введите следующую команду:

andreyex@linux-VirtualBox:~$ cat ~/key.pub

Как скопировать ключи SSH

 

Содержимое файла открытого ключа должно быть скопировано в буфер обмена. Вы можете сделать это, выделив содержимое файла и нажав клавиши Ctrl+C, или щелкнув правой кнопкой мыши окно терминала и выбрав опцию «Copy».

Подключитесь к удаленному серверу, на который вы хотите скопировать ключ, с помощью команды SSH, указав имя пользователя и имя хоста сервера. Например:

andreyex@linux-VirtualBox:~$ ssh user@hostname

 

Вы также можете вручную войти на удаленный сервер. Следует убедиться, что вы используете одного и того же пользователя. Откройте файл авторизованных ключей на удаленном сервере после установления соединения. Этот файл находится в каталоге ~/.ssh на сервере.

andreyex@linux-VirtualBox:~$ nano ~/.ssh/authorized_keys

 

Вставьте содержимое буфера обмена в файл author_keys, нажав клавиши Ctrl+V. Убедитесь, что ключ находится на одной строке и что нет лишних пробелов или разрывов строк.

Как скопировать ключи SSH

 

Как мы видим в предыдущем фрагменте, мы не добавляли лишние пробелы в файл, потому что он выдает сообщение об ошибке при авторизации. Сохраните файл author_keys, нажав клавиши Ctrl+X. Затем нажмите клавишу Y, а затем клавишу Enter.

Для каталога /.ssh и файла /.ssh/authorized_keys должны быть установлены соответствующие разрешения после копирования открытого ключа на сервер, чтобы к ним могли получить доступ только авторизованные пользователи. Эта команда устанавливает разрешения для файла ~/.ssh/authorized_keys, чтобы только владелец (пользователь) мог читать и записывать разрешения.

Важно отметить, что разрешения для каталога ~/.ssh должны быть установлены на 700, а разрешения на файл ~/.ssh/authorized_keys должны быть установлены на 600, чтобы гарантировать, что закрытый ключ остается в безопасности. Для этого мы запускаем команду, которая отображается в следующем:

andreyex@linux-VirtualBox:~$ chmod 700 ~/.ssh

andreyex@linux-VirtualBox:~$ chmod 600 ~/.ssh/authorized_keys

 

Команда chmod используется для изменения прав доступа к файлу или каталогу в Linux. Эти команды изменяют права доступа к файлам и папкам в определенном каталоге и author_keys соответственно и обеспечивают доступ к файлам только их владельцу.

Сделайте еще одну попытку подключения через SSH к серверу, указав имя пользователя и имя хоста сервера:

andreyex@linux-VirtualBox:~$ ssh user@hostname

 

Если вы задали парольную фразу при создании ключа SSH, она будет запрошена. Если все настроено правильно, вы сможете подключиться к серверу.

 

Заключение

Мы научились копировать SSH-ключ в Ubuntu. Этот процесс полезен, когда вы хотите настроить вход без пароля на удаленный сервер или когда вы хотите поделиться своим SSH-ключом с другом или коллегой. Помните, что существует множество вариантов этой процедуры в зависимости от требований вашего сценария.

Exit mobile version