
Я разработчик программного обеспечения, пытающийся подключиться к серверу axway tumbleweed клиента для загрузки файлов с сервера Windows. Для начала я пытаюсь использовать стандартные инструменты, такие как FileZilla и PuTTY, чтобы понять, как это работает, и доказать себе, что это вообще возможно, прежде чем я начну кодировать, но я, честно говоря, понятия не имею, можно ли вообще получить доступ к tumbleweed как к SFTP с помощью FileZilla или мне нужен специальный инструмент для файлового сервера SSH или что-то в этом роде.
Я уже несколько дней смотрю на информацию, которую они нам дали, рыщу по интернету и не могу понять, возможно ли вообще то, что меня просят сделать. В некоторых статьях и ответах, кажется, говорится: «FileZilla и PuTTY совместимы с открытыми ключами», а в некоторых — «Для подключения к удаленному серверу вам понадобится файл PPK».
Исходя из моего понимания криптографии, отправка мне их открытого ключа имеет смысл, так как моя сторона может зашифровать сообщения, используя данный ключ, и отправить их им, а они используют свой закрытый ключ для расшифровки, но как мне на самом деле это сделать?делатьэто?
Мне было предоставлено:
- Файл .pub, с которым PuTTY и FileZilla не сделают абсолютно ничего.
- URL-адрес сервера, который по крайней мере DNS преобразуется в IP-адрес, но Filezilla отключается после того, как определяет, что URL-адрес действителен
- Путь к папке для перетаскивания файлов
Когда я пытаюсь импортировать файл .pub в PuTTYgen или PAgeant где угодно, я получаю сообщение «Не удалось загрузить закрытый ключ (открытый ключ SSH-2 (формат RFC 4716))». Конечно, я немного погуглил эту ошибку, и единственное, что я могу сказать, это то, что часть «открытый ключ SSH-2 (формат RFC 4716)», вероятно, описывает формат файла, который мне дали.
Может ли кто-нибудь объяснить мне, как мне подключиться к серверу и разместить файл, имея только эту информацию? Или почему мое понимание ситуации ошибочно и на самом деле невозможно? Или и то, и другое?
решение1
Честно говоря, я понятия не имею, можно ли вообще получить доступ к Tumbleweed как к SFTP с помощью FileZilla или мне нужен специальный инструмент для файлового сервера SSH или что-то в этом роде.
SFTP — это стандартный метод передачи файлов по SSH. Если вам сказали загружать файлы по SSH, онивероятноимеется в виду SFTP, в этом случае FileZilla или WinSCP справятся с этой задачей.
(У самого PuTTY нет графического SFTP-клиента, только клиент командной строки), но WinSCP основан на ядре PuTTY — любой сервер и любой формат ключей, поддерживаемый PuTTY, также поддерживает WinSCP.)
Из той небольшой информации, которую мне удалось найти об Axway Tumbleweed, у него есть веб-интерфейс, но он также принимает SFTP-подключения через SSH. По-видимому, он также может выступать в качестве SFTP-клиента, вытягивая файлыотдругой SFTP-сервер.
Я уже несколько дней смотрю на информацию, которую они нам дали, рыщу по интернету и не могу понять, возможно ли вообще то, что меня просят сделать. В некоторых статьях и ответах, кажется, говорится: «FileZilla и PuTTY совместимы с открытыми ключами», а в некоторых — «Для подключения к удаленному серверу вам понадобится файл PPK».
Эти статьи и ответы (или, по крайней мере, та часть, которую вы процитировали) смешивают в единое целое довольно много разных вещей, делая их бесполезными и вводящими в заблуждение.
Совместимость с механизмом аутентификации SSH "public-key" в целом. Да, практически все клиенты SSH поддерживают аутентификацию пользователя на основе ключей.
Совместимость с форматом файла, используемым программным обеспечением OpenSSH для хранения открытых и закрытых ключей (обычно создается два файла: «foo» и «foo.pub»).
Да, FileZilla и PuTTY могут либо напрямую использовать файлы ключей формата OpenSSH, либо преобразовывать их в формат, который можно использовать (например, PuTTYgen может импортировать их в файлы .ppk).
Однако из двух файлов, которые создает ssh-keygen OpenSSH («somekey» и «somekey.pub»),только бывшийсодержит все необходимые данные — одного файла .pub недостаточно.
Наконец, возможность использоватьтолькооткрытый ключ для выполнения аутентификации SSH с использованием открытого ключа и входа на сервер.
Нет – несмотря на свое название, механизм аутентификациипринципиально требуетиспользование как публичной, так и закрытой частей пары ключей, и разные клиенты не могут обойти это ограничение.
Поэтому было бы бессмысленно интерпретировать цитату из вашей статьи как утверждение, что файл .pub сам по себе может быть использован в качестве полной замены файла .ppk — он не содержит необходимых для этого данных; обычно он просто идет в комплекте с другим файлом, в котором они есть.
Исходя из моего понимания криптографии, отправка мне их открытого ключа имеет смысл, так как моя сторона может зашифровать сообщения, используя данный ключ, и отправить их им, а они используют свой закрытый ключ для расшифровки. Но как мне это сделать на самом деле?
Хотя это имеет смысл в теории, это совсем не то, как используются открытые ключи в SSH. Они не используются для шифрования реальных коммуникаций; они используются только для создания цифровых подписей.
Сначала SSH использует алгоритм DH/ECDH для установления ключа шифрования, а сервер использует свой «ключ хоста» только для подписи результатов, а также для подтверждения своей личности.
Позже, на этапе входа в систему/аутентификации, ваш клиент использует вашу собственную пару ключей для подтверждения вашей личности, подписывая некоторые случайные данные, которые проверяет сервер; на этом этапе шифрование уже включено, и ваша пара ключей никак на него не влияет.
Может ли кто-нибудь объяснить мне, как мне подключиться к серверу и разместить файл, имея только эту информацию? Или почему мое понимание ситуации ошибочно и на самом деле невозможно? Или и то, и другое?
Я скажу, что вы не можете подключиться к серверу, поскольку вам не дали достаточно информации. Но может быть несколько возможностей:
Они дали вам неправильный файл. Например, системный администратор создал для вас пару ключей SSH с помощью
ssh-keygen
, получил файлы "jrud_key" и "jrud_key.pub" и хотел отправить вам первый по электронной почте, но случайно прикрепил второй.Это вполне возможно, особенно если вы ранее не использовали пары ключей SSH и администратор хотел ускорить процесс, создав для вас пару ключей.
Они дали вамсервераоткрытый ключ, чтобы вы могли убедиться, что подключаетесь к реальному серверу.
Хотя это возможно, это маловероятно. Большинство системных администраторов либо дадут вам ключотпечаток пальцавместо этого (поскольку именно это ваш клиент собирается вам показать для проверки) или вообще ничего не дадут.
Кроме того, если бы это было так, они бы все равно предоставили вам некоторые данные для аутентификации пользователя — если не файл закрытого ключа, то пароль или запрос на отправку вашего собственного файла .pub.имвместо.
Они хотят, чтобы вы использовали что-то другое, а не SSH/SFTP.