sshd_key
Это старая версия документа!
Генерация SSH-ключа на Windows
Шаг 1. Генерация SSH-ключа на Windows ssh-keygen -t ed25519 -C "my-windows-pc" Нажимайте Enter на следующие запросы: Enter file in which to save the key: нажмите Enter, чтобы сохранить в стандартную папку (C:\Users\ВашеИмя\.ssh\id_ed25519). Enter passphrase: можете ввести кодовую фразу для дополнительной защиты самого файла ключа на ПК или нажать Enter дважды, чтобы оставить без пароля (тогда вход будет полностью автоматическим). В папке .ssh появятся два файла: id_ed25519 — ваш приватный ключ (никому его не передавайте). id_ed25519.pub — ваш публичный ключ (его нужно загрузить на сервер)
Шаг 2. Перенос публичного ключа на VPS
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh user@IP_сервера "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
(Введите пароль от сервера в последний раз. Если вы уже меняли порт SSH, добавьте флаг порта после ssh, например: ssh -p 48222 user@IP_сервера ...). Проверка: Попробуйте зайти на сервер новой командой ssh user@IP_сервера. Сервер должен пустить вас сразу, без запроса пароля ОС. Шаг 3. Настройка лимитов (LoginGraceTime, MaxAuthTries, MaxStartups) на сервере Подключитесь к серверу и откройте конфигурационный файл SSH-сервера: sudo nano /etc/ssh/sshd_config Найдите соответствующие директивы (если перед ними стоит символ #, удалите его) или добавьте ваш блок в конец файла: # Сколько секунд сервер ждет авторизации до принудительного разрыва (по умолчанию 120) LoginGraceTime 20 # Максимум попыток предложить ключ за одно соединение (по умолчанию 6) MaxAuthTries 3 # Защита от забивания канала пустыми подключениями (начать сбрасывать при 3 неавторизованных сессиях) MaxStartups 3:50:10 # Полное отключение входа по паролю (вход только по ключам) PasswordAuthentication no KbdInteractiveAuthentication no PubkeyAuthentication yes
1. Скопируйте публичный ключ из Xshell. Откройте «Инструменты → Менеджер ключей пользователя», выберите id_ed25519, нажмите «Свойства» и перейдите на вкладку «Открытый ключ». Скопируйте строку ssh-ed25519 AAAA... mkdir -p /root/.ssh echo 'ssh-ed25519 AAAA...ваш_ключ...' >> /root/.ssh/authorized_keys chmod 700 /root/.ssh chmod 600 /root/.ssh/authorized_keys chown -R root:root /root/.ssh 4. Проверьте настройки sshd: sshd -T | grep -Ei 'permitrootlogin|pubkeyauthentication|authorizedkeysfile' Должно быть pubkeyauthentication yes, а permitrootlogin равно yes или without-password/prohibit-password. Значение no означает, что вход под root запрещён. Если что-то меняли, перезапустите службу: systemctl restart ssh проверка отпечатков: ssh-keygen -lf /root/.ssh/authorized_keys
sshd_key.1793195270.txt.gz · Последнее изменение: — bonterkoz
