Как включить аутентификацию с открытым ключом и войти в систему с ключами SSH без пароля с помощью PUTTY
Преимущества ключей SSH
Если VPS / выделенный сервер виден через Интернет, вам следует использовать аутентификацию с открытым ключом вместо паролей, если это вообще возможно. Это связано с тем, что ключи SSH обеспечивают более безопасный способ входа в систему по сравнению с использованием только пароля. Несмотря на то, что пароль может быть взломан с помощью brute-force attack , ключи SSH практически невозможно расшифровать с помощью одной brute-force . Благодаря аутентификации с открытым ключом каждый компьютер имеет (i) открытый и (ii) закрытый «ключ» (два математически связанных алгоритма, которые практически невозможно взломать).
Настройте SSH-ключи на вашем компьютере / ноутбуке с Windows, используя PuttyGEN
- Загрузите PuttyGEN с домашней
Прокрутите вниз, пока не найдете puttygen.exe и загрузите 32- или 64-разрядную версию. - Запустите PuttyGEN, дважды щелкнув по его значку
- В верхнем меню нажмите «Key» и выберите «SSH-2 RSA», а в правом нижнем углу измените номер с 2048 на 4096.
- Нажмите кнопку «Generate»
- Перемещайте указатель мыши в пустой области раздела «Ключ» под индикатором выполнения (чтобы создать некоторую случайность), пока индикатор выполнения не заполнится.
- Нажмите кнопку «Save public key» и выберите любое имя файла (некоторые пользователи создают на своем компьютере папку с именем my_keys).
- Нажмите кнопку «Save private key» и выберите любое имя файла.
ВАЖНО! И публичные, и личные файлы должны остаться на вашем компьютере, не удаляйте их.
- Щелкните правой кнопкой мыши в текстовом поле «Открытый ключ» для вставки в файл авторизованных ключей OpenSSH и выберите «Выбрать все». Cнова щелкните правой кнопкой мыши и выберите «Копировать».
- Войдите в свой VPS или выделенный сервер
- Запустите следующие команды:
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
- Вставьте открытый ключ SSH, который вы скопировали на шаге 8, в ваш файл ~/.ssh/authorized_keys
Как настроить Putty на вашем компьютере с Windows
- Запустите PuTTY, дважды щелкнув его исполняемый файл
- Начальным окном PuTTY является Категория сеанса (перемещайтесь по различным категориям PuTTY вдоль левой части окна)
- В поле Host Name введите IP-адрес вашего VPS или его полное доменное имя (FQDN).
- Введите номер порта в поле «Порт» (для дополнительной безопасности рассмотрите возможность изменения SSH-порта вашего сервера на нестандартный порт).
- В левой части окна выберите подкатегорию «Данные» в разделе «Подключение».
- Укажите имя пользователя, которое вы планируете использовать при входе на SSH-сервер, и чей профиль вы сохраняете в поле «Авторизация».
- Разверните подкатегорию SSH в разделе Подключение
- Выделите подкатегорию Auth и нажмите кнопку Browse в правой части окна PuTTY.
- Просмотрите файловую систему и выберите ранее созданный закрытый ключ
- Вернитесь в категорию сеансов и введите имя для этого профиля в поле Saved Sessions, например, user@123.456.78.9 или user@host.yourdomain.tld
- Нажмите кнопку Сохранить
Теперь вы можете войти на свой сервер, и вам не будет предложено ввести пароль.
Наконец, давайте отключим логин / пароль на вашем vps / выделенном сервере.
- Откройте /etc/ssh/sshd_config
nano /etc/ssh/sshd_config
Изменить оба параметра «PasswordAuthentication» и «UsePAM» на «no»
[...]
PasswordAuthentication no
[...]
UsePAM no
[...]
- Перезагрузите ваш SSH сервер
service sshd restart
or
sudo reload ssh