Инструменты пользователя

Инструменты сайта


linux:ssh:key

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
linux:ssh:key [2023/11/12 00:10]
werwolf [Как создать ключи SSH?]
linux:ssh:key [2023/11/12 11:24] (текущий)
werwolf
Строка 12: Строка 12:
 Когда клиент попытается выполнить проверку подлинности через этот ключ, сервер отправит сообщение,​ зашифрованное с помощью открытого ключа, если клиент сможет его расшифровать и вернуть правильный ответ - аутентификация пройдена. Когда клиент попытается выполнить проверку подлинности через этот ключ, сервер отправит сообщение,​ зашифрованное с помощью открытого ключа, если клиент сможет его расшифровать и вернуть правильный ответ - аутентификация пройдена.
  
-[[https://​losst.pro/​wp-content/​uploads/​2017/​02/​ssh-key-auth-flow.png|{{https://​losst.pro/​wp-content/​uploads/​2017/​02/​ssh-key-auth-flow.png?745x179}}]]+{{ :linux:ssh:fetch.png |}}
 ===== Как создать ключи SSH? ===== ===== Как создать ключи SSH? =====
  
Строка 19: Строка 19:
 И так, генерация ключей ssh выполняется командой:​ И так, генерация ключей ssh выполняется командой:​
  
-''​ssh-keygen''​+<code bash> 
 +ssh-keygen 
 +</​code>​
  
-{{https://​losst.pro/​wp-content/​uploads/​2017/​02/​Snimok-ekrana-iz-2017-02-06-17-59-21-1024x576.png?750x422}}+{{ :linux:​ssh:​fetch_2.png |}}
  
 Утилита предложит вам выбрать расположение ключей. По умолчанию ключи располагаются в папке ~/.ssh/. Лучше ничего не менять,​ чтобы все работало по умолчанию и ключи автоматически подхватывались. Секретный ключ будет называться id_rsa, а публичный id_rsa.pub. Утилита предложит вам выбрать расположение ключей. По умолчанию ключи располагаются в папке ~/.ssh/. Лучше ничего не менять,​ чтобы все работало по умолчанию и ключи автоматически подхватывались. Секретный ключ будет называться id_rsa, а публичный id_rsa.pub.
Строка 43: Строка 45:
 Самый простой способ скопировать ключ на удаленный сервер - это использовать утилиту ssh-copy-id. Она тоже входит в пакет программ OpenSSH. Но для работы этого метода вам нужно иметь пароль доступа к серверу по SSH. Синтаксис команды:​ Самый простой способ скопировать ключ на удаленный сервер - это использовать утилиту ssh-copy-id. Она тоже входит в пакет программ OpenSSH. Но для работы этого метода вам нужно иметь пароль доступа к серверу по SSH. Синтаксис команды:​
  
-''​ssh-copy-id username@remote_host''​+<code bash> 
 +ssh-copy-id username@remote_host 
 +</​code>​
  
-[[https://​losst.pro/​wp-content/​uploads/​2017/​02/​Snimok-ekrana-iz-2017-02-06-18-00-14.png|{{https://​losst.pro/​wp-content/​uploads/​2017/​02/​Snimok-ekrana-iz-2017-02-06-18-00-14-1024x576.png?750x422}}]]+{{ :linux:​ssh:​fetch_3.png |}}
  
 При первом подключении к серверу система может его не распознать,​ поэтому вам нужно ввести yes. Затем введите ваш пароль пользователя на удаленном сервере. Утилита подключится к удаленному серверу,​ а затем использует содержимое ключа id.rsa.pub для загрузки его на сервер в файл ~/​.ssh/​authorized_keys. Дальше вы можете выполнять аутентификацию с помощью этого ключа. При первом подключении к серверу система может его не распознать,​ поэтому вам нужно ввести yes. Затем введите ваш пароль пользователя на удаленном сервере. Утилита подключится к удаленному серверу,​ а затем использует содержимое ключа id.rsa.pub для загрузки его на сервер в файл ~/​.ssh/​authorized_keys. Дальше вы можете выполнять аутентификацию с помощью этого ключа.
Строка 51: Строка 55:
 Если такой способ по какой-либо причине для вас не работает,​ вы можете скопировать ключ по ssh вручную. Мы создадим каталог ~/.ssh, а затем поместим наш ключ в файл authorized_keys с помощью символа >>, это позволит не перезаписывать существующие ключи: Если такой способ по какой-либо причине для вас не работает,​ вы можете скопировать ключ по ssh вручную. Мы создадим каталог ~/.ssh, а затем поместим наш ключ в файл authorized_keys с помощью символа >>, это позволит не перезаписывать существующие ключи:
  
-''​cat ~/​.ssh/​id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/​.ssh/​authorized_keys"​''​+<code bash> 
 +cat ~/​.ssh/​id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/​.ssh/​authorized_keys"​ 
 +</​code>​
  
 Здесь вам тоже нужно набрать yes, если вы подключаетесь к новому серверу,​ а затем ввести пароль. Теперь вы можете использовать созданный ключ для аутентификации на сервере:​ Здесь вам тоже нужно набрать yes, если вы подключаетесь к новому серверу,​ а затем ввести пароль. Теперь вы можете использовать созданный ключ для аутентификации на сервере:​
  
-''​ ssh username@remote_host''​+<code bash> 
 +ssh username@remote_host 
 +</​code>​
  
-  
  
 Если вы не захотели создать ssh ключ с доступом по паролю,​ то вы сразу же будете авторизованы,​ что очень удобно. Иначе, сначала вам придется ввести фразу-пароль для расшифровки ключа. Если вы не захотели создать ssh ключ с доступом по паролю,​ то вы сразу же будете авторизованы,​ что очень удобно. Иначе, сначала вам придется ввести фразу-пароль для расшифровки ключа.
Строка 65: Строка 72:
 Если пароль больше не будет использоваться,​ то для увеличения безопасности системы лучше его вовсе отключить. Но убедитесь,​ что ключ надежно сохранен и вы его не потеряете,​ потому что по паролю вы больше не войдете. Авторизуйтесь на сервере,​ затем откройте конфигурационный файл /​etc/​ssh/​sshd_config и найдите там директиву PasswordAuthenticatin. Нужно установить ее значение в No: Если пароль больше не будет использоваться,​ то для увеличения безопасности системы лучше его вовсе отключить. Но убедитесь,​ что ключ надежно сохранен и вы его не потеряете,​ потому что по паролю вы больше не войдете. Авторизуйтесь на сервере,​ затем откройте конфигурационный файл /​etc/​ssh/​sshd_config и найдите там директиву PasswordAuthenticatin. Нужно установить ее значение в No:
  
-''​sudo vi /​etc/​ssh/​sshd_config''​+<code bash> 
 +sudo vi /​etc/​ssh/​sshd_config
  
-''​PasswordAuthentication no''​+PasswordAuthentication no 
 +</​code>​
  
-[[https://​losst.pro/​wp-content/​uploads/​2017/​02/​Snimok-ekrana-iz-2017-02-06-18-02-59.png|{{https://​losst.pro/​wp-content/​uploads/​2017/​02/​Snimok-ekrana-iz-2017-02-06-18-02-59-1024x576.png?750x422}}]]+{{ :linux:​ssh:​fetch_4.png |}}
  
 Теперь сохраните файл и перезапустите службу ssh: Теперь сохраните файл и перезапустите службу ssh:
  
-''​sudo service ssh restart''​+<code bash> 
 +sudo service ssh restart 
 +</​code>​
  
 Дальше будет возможно только подключение по ключу ssh, пароль не будет приниматься. Дальше будет возможно только подключение по ключу ssh, пароль не будет приниматься.
linux/ssh/key.1699737001.txt.gz · Последние изменения: 2023/11/12 00:10 — werwolf