»
Linux

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

О ключах SSH

О ключах SSH

Secure Shell (более известный как SSH) – это криптографический сетевой протокол, который позволяет пользователям безопасно выполнять ряд сетевых услуг по незащищенной сети. Ключи SSH обеспечивают более безопасный способ входа на сервер с SSH, чем использование одного пароля. В то время как пароль может быть взломан с помощью атаки с использованием грубой силы, ключи SSH почти невозможно расшифровать с помощью одной только грубой силы.

Генерация пары ключей предоставляет вам две длинные строки символов: открытый и закрытый ключи. Вы можете разместить открытый ключ на любом сервере, а затем разблокировать его, подключившись к нему с клиентом, у которого уже есть закрытый ключ. Когда они совпадают, система разблокируется без ввода пароля. Вы можете еще больше повысить безопасность, защищая закрытый ключ с помощью ключевой фразы.

В некоторых командах этого руководства вы заметите некоторые highlighted values, Это переменные, и вы должны заменить их своими собственными значениями.

Шаг первый – создайте пару ключей RSA

Шаг первый – создайте пару ключей RSA

Первым шагом является создание пары ключей на клиентском компьютере (есть большая вероятность, что это будет только ваш компьютер):

ssh-keygen -t rsa

Шаг второй – сохраните ключи и парольную фразу

Шаг второй – сохраните ключи и парольную фразу

Введя команду Gen Key, вы получите еще несколько вопросов:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Вы можете нажать Enter здесь, сохранив файл в домашнем хранилище пользователя (в данном случае мой пример пользователя называется demo).

Enter passphrase (empty for no passphrase):

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

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

ssh-keygen -t rsa
OutputGenerating public/private rsa key pair. Enter file in which to save the key (/home/demo/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/demo/.ssh/id_rsa. Your public key has been saved in /home/demo/.ssh/id_rsa.pub. The key fingerprint is: 4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a The key's randomart image is: +--[ RSA 2048]----+ | .oo. | | . o.E | | + . o | | . = = . | | = S = . | | o + = + | | . o + o . | | . o | | | +-----------------+

Открытый ключ теперь находится в . Закрытый ключ (идентификационный номер) теперь находится в ./home/demo/.ssh/id_rsa.pub/home/demo/.ssh/id_rsa

Шаг третий – скопируйте открытый ключ

Шаг третий – скопируйте открытый ключ

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

Вы можете скопировать открытый ключ в файл author_keys новой машины с помощью команды ssh-copy-id. Обязательно замените приведенное ниже имя пользователя и IP-адрес.

ssh-copy-id demo@198.51.100.0

Примечание. Если вы пользователь Mac, ssh-copy-id не будет установлен на вашем компьютере. Однако вы можете установить его с помощью Homebrew :

brew install ssh-copy-id

Кроме того, вы можете вставить ключи, используя SSH:

cat ~/.ssh/id_rsa.pub | ssh demo@198.51.100.0 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"

Независимо от того, какую команду вы выбрали, вы можете увидеть что-то вроде:

The authenticity of host '198.51.100.0 (198.51.100.0)' can't be established. RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '198.51.100.0' (RSA) to the list of known hosts. user@198.51.100.0's password:

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

Теперь вы можете войти в свой профиль пользователя, и вам не будет предложено ввести пароль. Однако, если вы зададите фразу-пароль при создании ключа SSH, вам будет предложено ввести фразу-пароль в это время (и всякий раз, когда вы будете входить в систему в будущем).

Необязательный шаг четвертый – отключите пароль для root-входа

Необязательный шаг четвертый – отключите пароль для root-входа

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

Для этого откройте файл конфигурации SSH:

sudo nano /etc/ssh/sshd_config

В этом файле найдите строку, которая включает PermitRootLoginи измените ее, чтобы пользователи могли подключаться только со своим ключом SSH:

/ И т.д. / SSH / sshd_config

PermitRootLogin without-password

Сохраните и закройте файл, когда вы закончите.

Чтобы эти изменения вступили в силу:

sudo systemctl reload sshd.service

 

Источник записи: https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys–2

Связанные записи
LinuxWEBWEB - PHPWordPressВсе для разработки плагиновВсе для разработки шаблонов

Определите минимальную версию PHP для вашего кода?

AndroidLinuxWindows инструкции

Как включите компьютер из любой точки мира с помощью Android или современный Wake-on-LAN