MySQL – это мощная система управления базами данных с открытым исходным кодом, широко применяемая в веб-приложениях. MySQL отличается быстротой и надежностью, поддерживает большое количество информации, проста в использовании и пользуется популярностью у разработчиков.
SSH ключи
SSH ключи - это пара криптографических ключей, состоящая из открытого и закрытого ключей, используемых для безопасного соединения между локальным компьютером и удаленным сервером: открытый ключ размещается на сервере, а закрытый ключ хранится на локальном компьютере, обеспечивая безопасный и удобный способ доступа к удаленным ресурсам без необходимости ввода пароля.
Создание ssh ключей
Перед созданием ключей будет хоро шо, если заранее перейти в папку .ssh с помощью команды cd ~/.ssh
Генерация ключей SSH:
ssh-keygen
Команда попросит ввести данные по желанию, а именно название ключа и контрольную фразу:
user@machine:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): название_ключа # Можно ввести любое название, например, server-key или оставить пустым, нажав Enter
Enter passphrase (empty for no passphrase): контрольная_фраза # Можно оставить пустым, нажав Enter
Enter same passphrase again: контрольная_фраза # Повтор контрольной фразы, так же можно пропустить нажатием Enter
Your identification has been saved in server-key
Your public key has been saved in server-key.pub
The key fingerprint is:
SHA256:XEIRbvfRybEU2pmPwuCpGjqZxnH4xdGZ0UfhdBTknpo user@machine
The key's randomart image is:
+---[RSA 3072]----+
| .oo==oo.|
| . *+=+o+. |
| * B=.%.o.|
| O &.* +|
| S .. E.= |
| + + . .. |
| . . . |
| |
| |
+----[SHA256]-----+
Ключи созданы по пути ~/.ssh. Проверяем командой ll:
-rw------- 1 user user 2602 фев 28 09:23 server-key # приватный
-rw-r--r-- 1 user user 568 фев 28 09:23 server-key.pub # публичный
Приватный ключ server-key без расширения .pub должен храниться только на локальной машине. Публичный ключ server-key.pub можно копировать на сервер с помощью команды `ssh-copy-id:
ssh-copy-id -i server-key.pub [email protected]
Будет предложено ввести пароль пользователя. После успешной операции видим следующее:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "server-key.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
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
Готово! Публичный клю ч добавлен в ~/.ssh/authorizd_keys на сервере. Следующие подключения на сервер будут посредством ssh ключа без необходимости ввода пароля, что обеспечивает удобство и повышенную безопасность.
Дополнительно
Типы ключей
По умолчанию команда ssh-keygen создает RSA тип ключей. Помимо RSA, существуют и другие типы ключей, которые можно создать с помощью ssh-keygen. Некоторые из них включают:
- DSA (Digital Signature Algorithm) - менее распространенный тип ключа, который также используется для подписей и аутентификации.
- ECDSA (Elliptic Curve Digital Signature Algorithm) - использует эллиптические кривые для создания ключей. Он обеспечивает такой же уровень безопасности при меньшем объеме ключа по сравнению с RSA.
- ED25519 - использует кривые Ed25519 для создания ключей. Этот тип ключа обеспечивает высокую безопасность и эффективность.
- EC25519 - аналогично ED25519, но использует эллиптические кривые.
Выбрать нужно ключ можно следующим образом:
ssh-keygen -t rsa
Выбор конкретного типа ключа зависит от индивидуальных потребностей в безопасности, поддерживаемых протоколов и требований к производительности.
Длина ключа
Добавление флага -b 4096 устанавливает битовую длину ключа, в данном случае 4096 бит. Это повышает уровень безопасности ключа, так как большая длина ключа обычно услож няет его взлом.
Таким образом, команда:
ssh-keygen -t rsa -b 4096
создаст RSA-ключ с битовой длиной 4096. Если не указана битовая длина ключа с флагом -b, то по умолчанию используется стандартная длина, которая зависит от типа ключа. Для RSA ключей по умолчанию используется 2048 бит.