SSH-ключи применяются для аутентификации на серверах, в Git, CI/CD и автоматизации.
Создание Ed25519 (предпочтительный алгоритм):
ssh-keygen -t ed25519 -a 64 -C "dev@host" -f ~/.ssh/id_ed25519
Создание RSA 4096 (для совместимости со средами без поддержки Ed25519):
ssh-keygen -t rsa -b 4096 -C "dev@host" -f ~/.ssh/id_rsa
Просмотр файлов и проверка отпечатка публичного ключа:
ls -l ~/.ssh/
ssh-keygen -l -f ~/.ssh/id_ed25519.pub
Отпечаток публичного ключа можно использовать для сверки при добавлении ключа в удалённые системы.
Копирование публичного ключа на сервер (рекомендуемый способ):
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
Ручное добавление ключа на сервере (если
ssh-copy-id недоступен):install -m 700 -d ~user/.ssh
printf '%s\n' "ВАШ_PUBLIC_KEY" >> ~user/.ssh/authorized_keys
chmod 600 ~user/.ssh/authorized_keys
chown -R user:user ~user/.ssh
Важно:
authorized_keys должен находиться в ~user/.ssh/ на сервере, содержать один ключ на строку, а также иметь корректные права и владельца.Проверка входа по ключу:
ssh -i ~/.ssh/id_ed25519 user@server
Запуск SSH-агента в текущей сессии и добавление приватного ключа:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Агент, запущенный через
eval, действует временно для текущего шелла.Корректные права доступа:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
🔥 Рабочие ключи следует создавать с
passphrase (приватный ключ хранится на диске в зашифрованном виде) и загружать в SSH-агент или системный keyring, чтобы не вводить passphrase при каждом подключении.🚪 Linux Ready | #практика