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

How Copy Ssh Keys



SSH - важный инструмент, когда дело доходит до работы на другом сервере. Вы можете перемещать файлы, синхронизировать папки, переносить учетные записи и файлы сервера, копировать резервные копии и т. Д. SSH может использоваться во многих случаях, и важность ключей SSH заключается в том, что за короткий период необходимо выполнить более повторяющийся процесс, например, копирование некоторых файлов или папок. , несколько пользователей, несколько папок, несколько учетных записей, резервные копии cpanel и т. д., и в этих случаях это будет действительно скучно и отнимет много времени, если вам придется вводить пароль ssh каждый раз, когда он запрашивает. Настройка ключей SSH может предотвратить необходимость ввода пароля вручную для каждой задачи.

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







Создайте пару ключей на исходном сервере. Когда мы даем команду ssh-keygen, она по умолчанию создает 2048-битную пару ключей RSA, и если вам нужно более надежное шифрование, вы также можете использовать 4096 бит. Для этого вам нужно использовать -b 4096 в конце команды ssh-keygen. Я использую здесь по умолчанию.



Несколько вещей, о которых нужно позаботиться в выводе ниже:



В строке введите файл, в котором нужно сохранить ключ (/root/.ssh/id_rsa):





Он запрашивает путь для сохранения ключа, и обычно это нормально. Если по умолчанию все в порядке, вы можете просто нажать Enter. Если вы хотите попробовать альтернативный путь, то вам нужно указать то же самое там. Иногда это будет примерно так:

/корень/.ssh/id_rsa уже существует. Перезаписать(а также/п)?

Вы должны сделать копию папки .ssh перед тем, как вносить какие-либо изменения, или должны знать, что вы делаете. Отправка Да приведет к тому, что старый ключ (если он уже используется) не будет работать.



В строке Введите парольную фразу (пусто, если парольная фраза отсутствует): это дополнительная процедура безопасности, которая будет запрашивать парольную фразу каждый раз, когда вы попытаетесь войти в SSH, и будет работать как двухэтапная проверка. Но если вам нужен ssh-доступ для любых сценариев или любых других прямых и быстрых работ, то лучше этого не иметь. Помимо написания сценариев или автоматизации работ, мы обязательно предложим вам это иметь.

Полный результат команды для справки:

[электронная почта защищена]: ~ $ssh-keygen
Создание общедоступных/пара закрытых ключей RSA.
Входитьфайл в которыйсохранить ключ(/корень/.ssh/id_rsa):
Создан каталог'/root/.ssh'.
Введите кодовую фразу(пустойдлябез парольной фразы):
Введите ту же парольную фразу еще раз:
Ваша идентификация сохраненав /корень/.ssh/id_rsa.
Ваш открытый ключ сохраненв /корень/.ssh/id_rsa.pub.
Ключевой отпечаток пальца:
SHA256: z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/Сумеш UqyuyigUI@Sree

Ключизображение randomart:

+ --- [RSA 2048] ---- +
| |
| . . |
| . oo.o |
| . = o = o + |
| E S o. * OBo |
| . . * или +. +. = |
| . . . .o =. = ооо |
| . .. + o * .B |
| .. о. o + oB + |
+ ---- [SHA256] ----- +
[электронная почта защищена] ~ $

Шаг 2. Скопируйте созданную пару ключей на целевой сервер.

Есть 2 разных способа скопировать это на целевой сервер.

  • Использование команды ssh-copy-id
  • Копирование ключа ssh с использованием обычного пользователя ssh / pass в качестве одного лайнера с нашего локального компьютера или после входа на сервер.

2.1 Использование команды ssh-copy-id

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

Сначала вам нужно проверить, существует ли такая команда, и если команда работает и пользователь, которого вы пытаетесь использовать, имеет доступ к этой команде, вы можете использовать эту команду для копирования открытого ключа на удаленный сервер. Эта утилита просканирует вашу локальную учетную запись на наличие открытого ключа RSA и предложит вам ввести пароль учетной записи удаленного пользователя.

Здесь мы собираемся скопировать корневой ключ ssh для доступа на корневом уровне серверов. Итак, чтобы скопировать это, вам нужно войти в систему / переключиться на пользователя, для которого вы создали ключ. В этом случае мы пытаемся установить соединение root-root.

Полный вывод ниже, и я добавляю необходимые детали между ними.

корень@Источник]]: ~ $ ssh-copy-id корень@192.1.1.19-п 1986 г.
Подлинность хозяина'[192.1.1.19]: 1986 ([192.1.1.19]: 1986) »жестяная банкане будет установлено.
Отпечаток ключа ECDSA - SHA256: YYOj54aEJvIle4D2osDiEhuS0NEDImPTiMhHGgDqQFk.
Вы уверены, что хотите продолжить подключение (да / нет)? да

Если вы используете это впервые, вы получите такой ответ, и вам нужно будет ввести да, а затем нажать ввод

/usr/являюсь/ssh-copy-id: INFO: попытка регистрациивс новым ключом(s),
чтобы отфильтровать все, что уже установлено

/usr/являюсь/идентификатор-копии-ssh: ИНФОРМАЦИЯ:1ключ(s)осталось установить- есливам предложено
теперь это дляустановитьновые ключи

корень@192.1.1.19пароль:

Введите пароль и нажмите Enter.

Количество ключей(s)добавлен:1

Теперь попробуйте войти в систему с помощью: ssh -p ‘1986’ ‘[email protected]’
и убедитесь, что он работает должным образом.

После этого вы сможете войти на сервер без каких-либо паролей. Как только пароль без аутентификации работает нормально, вы можете отключить аутентификацию по паролю, чтобы вы могли заблокировать доступ по ssh только с помощью ключей ssh.

2.2 Копирование ключа ssh с использованием обычного пользователя / пароля ssh вручную

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

Для этого мы должны вручную добавить содержимое вашего файла id_rsa.pub в файл /root/.ssh/authorized_keys на вашем конечном компьютере. Если вы собираетесь скопировать ключ для пользователя root, его расположение будет /root/.ssh/authorized_keys .

Из Шага 1: возможно, вы видели строку ниже

Ваш открытый ключ был сохранен в /root/.ssh/id_rsa.pub.

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

Итак, сделайте следующие шаги

Команда ниже даст вам ключ для копирования:

[электронная почта защищена] $Кот /корень/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9Hg
H1JLknLLx44 + tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q + bqgZ
8SeeM8wzytsY + dVGcBxF6N4JS + zVk5eMcV385gG3Y6ON3EG112n6d + SMXY0OEBIcO6x + PnUS
GHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZVIpSDfki9UV
KzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ik
rygTKRFmNZISvAcywB9GVqNAVE + ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77 + xiFxgI5QSZ
X3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCS
q54Cr7kvS46itMosi/uS66 + PujOO + xt/2FWYepz6ZlN70bRly57Q06J + ZJoc9FfBCbCyYH7U/ASsmY0
95ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G
2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ== корень@Источник

Войдите на удаленный сервер, на который вам нужно скопировать этот ключ, и убедитесь, что вы используете того же пользователя, которому вам нужно скопировать ключ ssh. Если вам нужен прямой root-доступ, скопируйте ключ прямо в раздел /root/.ssh/

Создайте папку .ssh, если она не существует

Чтобы проверить, существует ли он, и если нет, создайте его, используя следующие команды:

[электронная почта защищена]: $ls - /корень/.ssh

Если папки нет, создайте ее с помощью следующей команды:

[электронная почта защищена] $mkdir -п /корень/.ssh
[электронная почта защищена] $трогать /корень/.ssh/авторизованные_ключи

[электронная почта защищена]: $выбросилssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAACAQCql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44 + tXfJ7mIrKNxOOwxI
xvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q + bqgZ8SeeM8wzytsY + dVGcBxF6N4JS + zVk5eMcV385gG3Y6ON3
EG112n6d + SMXY0OEBIcO6x + PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZV
IpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZI
SvAcywB9GVqNAVE + ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77 + xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1
nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66 + PujOO + xt/2FWYepz6ZlN70bRly
57Q06J + ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsd
BIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ== корень@Источник>>
/корень/.ssh/авторизованные_ключи

Убедитесь, что разрешение папки правильное.

chmod идтизнак равно/корень/.ssh/

После этого попробуйте войти на сервер с нового терминала и убедитесь, что аутентификация без ключа работает должным образом. Только после этого отключите аутентификацию по паролю в конфиге ssh.

ПРИМЕЧАНИЕ.Убедитесь, что вы можете войти на сервер по мере необходимости (либо непосредственно с вашего компьютера, либо вы можете войти в систему под другим пользователем на удаленном сервере и переключиться на root из этой учетной записи вручную с помощью su или sudo), а затем только отключить аутентификацию пароля, иначе есть шанс заблокировать пользователей root.

Если у вас есть какие-либо потребности, вы всегда можете связаться со мной для любой помощи и поделиться своими комментариями.