Linux / macOS (bash, терминал)
Создать ключ (RSA, 4096 бит, стандартный путь
~/.ssh/id_rsa):ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Нажми Enter, чтобы принять путь по умолчанию, при желании введи passphrase или оставь пустым. Далее добавить ключ в ssh-agent (рекомендуется, чтобы не вводить passphrase постоянно):
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Копировать публичный ключ на сервер (самый простой вариант):
ssh-copy-id user@your_server
Если
ssh-copy-id нет, можно так:cat ~/.ssh/id_rsa.pub | ssh user@your_server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
Проверка подключения:
ssh user@your_server
# либо явно указать ключ
ssh -i ~/.ssh/id_rsa user@your_server
Windows (PowerShell, Windows 10/11 с OpenSSH)
Открыть PowerShell (не Git Bash), затем создать ключ:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# Нажми Enter несколько раз, чтобы принять путь по умолчанию (C:\Users\<User>\.ssh\id_rsa), при желании введи passphrase
Запустить агент и добавить ключ:
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_rsa
Скопировать публичный ключ на сервер (один вариант):
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh user@your_server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
Проверка подключения:
ssh user@your_server
# или с явным ключом
ssh -i $env:USERPROFILE\.ssh\id_rsa user@your_server
Вывод
Теперь у вас есть ssh ключ для безопасного подключения к серверам.
LinuxCamp | #ssh
