Настройка SFTP-сервера для клиента Java, чтобы разрешить загрузку только с открытым ключом

Я хочу настроить безопасный FTP-сервер с шифрованием с открытым и закрытым ключами. Программа Java будет загружать и скачивать файлы с этого сервера. Нужно ли мне иметь две пары ключей: одну для загрузки, одну для загрузки и одну для загрузки?

Мне нужно поддержать две операции.

  1. Java-клиент (закрытый ключ) ------------------ Загрузить файл -------------------------- Сервер (открытый ключ) Ключи, сгенерированные на клиенте

  2. Java-клиент (открытый ключ) ------- Загрузить файл --------- Сервер (закрытый ключ) Ключи, сгенерированные на сервере

Можно ли это сделать с помощью одной пары ключей?


person localhost    schedule 06.01.2016    source источник
comment
зачем вам вводить вторую пару? так же эта проблема решается уже с протоколами sftp i ftps   -  person mikus    schedule 06.01.2016


Ответы (2)


Во-первых, вы, вероятно, имеете в виду SFTP, а не безопасный FTP (FTPS).


Похоже, вы неправильно понимаете, как работает аутентификация с открытым ключом в FTPS.

Вы ничего не можете сделать только с открытым ключом. Вам всегда нужен закрытый ключ. Даже для скачивания. Любой сеанс SFTP является двунаправленным. Вам всегда нужно отправить что-то на сервер (по крайней мере, запросы SFTP/SSH), и они должны быть зашифрованы закрытым ключом.


Чтобы ответить на ваш вопрос: Да, вам нужны две пары ключей. Или, скорее, вам нужны две учетные записи SFTP/SSH.


Чтобы использовать открытый ключ только для загрузки, вам нужно будет использовать обычный FTP и использовать пары ключей только для шифрования/дешифрования файлов. Но это уже не SFTP.

person Martin Prikryl    schedule 06.01.2016

Соединение является двунаправленным — вы можете загружать и скачивать столько, сколько хотите, с помощью одного соединения.

При этом в одном соединении есть две пары ключей: клиентская и серверная. Сервер предоставляет свой открытый ключ клиенту, чтобы убедиться, что вы обращаетесь к правильному серверу. Открытый ключ клиента добавляется в список авторизованных ключей на сервере.

person tbroberg    schedule 15.02.2016