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 Важный нюанс про MaxAuthTries 3 на Windows: Если со временем на вашем ПК в папке .ssh накопится больше 3 разных SSH-ключей, SSH-клиент будет предлагать их серверу по очереди, и на 4-м ключе сервер разорвет соединение. Поскольку у вас сейчас один ключ id_ed25519, лимит 3 будет работать идеально. Шаг 4. Безопасная проверка и перезапуск Проверьте синтаксис конфига перед перезапуском (если в файле опечатка, команда укажет на строку с ошибкой; если всё чисто — ничего не выведет): sudo sshd -t Перезапустите службу SSH: sudo systemctl restart ssh Проверьте вход: Не закрывая текущее окно PowerShell, откройте второе окно PowerShell и подключитесь к серверу, чтобы убедиться, что новые правила работают корректно.
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.1793195379.txt.gz · Последнее изменение: — bonterkoz
