Подключитесь к серверу, используя SFTP и публичный SSH-ключ, с помощью FileZilla на Windows.

Вопрос или проблема

Можно ли сгенерировать SSH-ключ на машине с Windows и затем использовать этот ключ для подключения к серверу через SFTP с помощью FileZilla?

У меня всё работает на Mac, но у моего клиента Windows-среда. Наш сервер не имеет традиционного доступа по FTP, и мне нужно подключить клиента.

Буду очень признателен за подробности.

FileZilla использует группу инструментов PuTTY для реализации SSH. PuTTY поддерживает использование открытых ключей, поэтому по умолчанию FileZilla тоже их поддерживает. Это просто: достаточно скачать и запустить Pageant и импортировать ваш ключ или сгенерировать новый с помощью PuTTYgen.

Вы также можете вручную указать файл ключа, используя меню ПравкаНастройки, пункт Соединение (первый пункт в левом панели)

Если частный SSH-ключ уже существует, это можно сделать изнутри FileZilla, без необходимости устанавливать дополнительное ПО. Просто перейдите в меню ПравкаНастройкиСоединениеFTPSFTP.

Нажмите кнопку Добавить файл ключа и добавьте ваш частный ключ туда. Он конвертирует ключ для вас.

Уже долгое время FileZilla имеет конфигурацию ключей для каждого сайта. Поэтому нет необходимости заходить в глобальные Настройки, чтобы добавить ключ.

В диалоге “Вход” (менеджер сайтов):

  • выберите SFTP для Протокола
  • введите ваш Хост
  • выберите Файл ключа для Типа входа
  • введите ваше Имя пользователя
  • Обзор для Файла ключа

введите описание изображения здесь

Чтобы ответить на вопрос: да, вы можете использовать бесплатный инструмент ‘puttygen.exe’, который позволяет вам сгенерировать ключ, который вам нужен, в нужном формате и с необходимыми настройками.

Чтобы подключиться к SFTP-серверу, используя открытый ключ, FileZilla должен знать, какие частные ключи использовать (это также указывается FileZilla в Правка/Настройки/Соединение/SFTP)

Чтобы дополнить ответ Martin Prikryl, может быть полезно добавить ключ в FileZilla Правка/Настройки/Соединение/SFTP, если SFTP-сервер требует как подлинности пароля, так и ключа:

  • Определите ваш(и) ключ(и) в Правка → Настройки → Соединение → SFTP.
  • Определите ваш пароль на вкладке Общие в настройках сайта.

FileZilla сможет предоставить пароль, а затем искать ключ в основных настройках, когда сервер запросит аутентификацию с помощью ключа.

Проверено с FileZilla 3.6x.x

.

Ответ или решение

Теория

SFTP (SSH File Transfer Protocol) является современным решением для безопасной передачи файлов между клиентом и сервером. Он использует SSH (Secure Shell) для обеспечения защиты данных и гарантированного шифрования. Для аутентификации можно использовать пары SSH-ключей: закрытый ключ у клиента и соответствующий открытый ключ на сервере. Это обеспечивает высокий уровень безопасности за счет криптографической аутентификации, избегая простого ввода паролей, которые могут быть недостаточно защищены.

Пример

Для пользователей Mac создание и использование SSH-ключей – это процедура достаточно привычная и простая, поскольку нужные инструменты обычно встроены в операционную систему. Однако пользователи Windows могут столкнуться с некими трудностями, так как система по умолчанию не предоставляет такой же развитый набор инструментов. Для этой задачи часто используется набор инструментов от PuTTY, который включает PuTTYgen для генерации ключей. Кроме того, FileZilla, один из популярных FTP/SFTP клиентов, также интегрируется с PuTTY для управления ключами.

Применение

Теперь разберем пошагово, как можно подключиться к серверу по SFTP с использованием SSH-ключа и FileZilla на Windows.

  1. Генерация SSH-ключа на Windows с помощью PuTTYgen

    • Скачайте и установите PuTTYgen с официального сайта PuTTY.
    • Запустите PuTTYgen и выберите тип ключа: SSH-2 RSA.
    • Нажмите "Generate" и водите мышкой для генерации ключа.
    • После генерации ключа сохраните закрытый ключ (например, key.ppk) и скопируйте открытый ключ, чтобы добавить его в файл authorized_keys на сервере.
  2. Установка открытого ключа на сервер

    • Подключитесь к вашему серверу (если это возможно) через SSH обычным способом и откройте файл .ssh/authorized_keys.
    • Добавьте туда сгенерированный открытый ключ.
  3. Настройка FileZilla для использования SSH-ключа

    • Запустите FileZilla и откройте ‘Site Manager’ (Менеджер сайтов).
    • Создайте новый сайт или отредактируйте существующий.
    • Для ‘Protocol’ выберите ‘SFTP – SSH File Transfer Protocol’.
    • Введите ‘Host’ (адрес вашего сервера) и имя пользователя (‘User’).
    • В поле ‘Logon Type’ выберите ‘Key file’.
    • Укажите путь к вашему закрытому ключу (key.ppk), выбрав ‘Browse’ и найдя ваш файл.
  4. Дополнительные настройки

    • Если ваша установка требует одновременного использования ключа и пароля, перейдите в ‘Edit’ → ‘Settings’ → ‘Connection’ → ‘SFTP’.
    • Добавьте ваш ключ и установите пароль на вкладке ‘General’ сайта в ‘Site Manager’. FileZilla сможет использовать оба метода аутентификации.
  5. Промежуточные шаги

    • Запустите Pageant из PuTTY пакета при необходимости и загрузите в него ваш закрытый ключ, чтобы он был доступен для FileZilla без необходимости открытия ключа каждый раз.
    • Подтвердите соединение и убедитесь, что все настройки применены корректно.

Заключение

Использование SSH-ключей для подключения к SFTP-серверам обеспечивают вас более безопасным и удобным способом работы, избегая введения паролей, что может подвергать вашу систему риску. FileZilla, в сочетании с PuTTY, предоставляет необходимую гибкость и возможности для работы с SSH-ключами даже в Windows среде, независимо от того, какой системой вы пользовались ранее. Следуя вышеизложенным шагам, вы сможете настроить безопасное соединение для вашего клиента на Windows, точно так же, как это было сделано на Mac.

Оцените материал
Добавить комментарий

Капча загружается...