Я разрабатываю клиентское приложение для Windows, которое будет получать файлы с SFTP-сервера. Я хотел бы избежать принуждения пользователей к предоставлению учетных данных в клиентском приложении - скорее, их учетные данные Windows будут передаваться на сервер, который затем аутентифицируется и предоставляет доступ к соответствующим ресурсам.
Кажется, что серверы SFTP на рынке позволят либо аутентификацию сертификата, либо аутентификацию пароля. Если сертификат предоставлен, пароль не требуется. В противном случае пользователю потребуется ввести пароль.
Насколько я могу судить, проблема с использованием аутентификации сертификата заключается в том, что нам нужно будет управлять пользователями (создавать, удалять и т. Д.) Внутри самого приложения, а не полагаться на Active Directory. Это добавляет дополнительную сложность администрирования нашей и без того сложной среде.
Кто-нибудь знает:
A) Решение для сервера SFTP, которое будет соответствовать моим требованиям
или
Б) Другой подход, который я мог бы использовать для централизации управления пользователями в AD, при этом разрешив единый вход на сервере SFTP?
Хотя я не хочу рекомендовать это, Сервер WS-FTP от Ipswitch делает именно то, что вы просите (на машине с Windows). Он стал намного лучше, но пользовательский интерфейс по-прежнему оставляет желать лучшего.
Вы также можете пойти по пути Linux-бокса, но я бы, вероятно, использовал LikeWise открыть в сочетании с rssh для удобства управления.
Вы можете интегрировать OpenSSH с Kerberos, если хотите запустить OpenSSH на Linux: http://port25.technet.com/archive/2008/06/06/technical-analysis-openssh-on-linux-using-windows-kerberos-for-authentication.aspx
Я не нахожу хороших документов об интеграции Kerberos с OpenSSH в Windows (через cygwin). Я бы хотел получить известие от кого-нибудь, кто мог бы это сделать.
VShell от VanDyke Software делает это.
Ответ на ваш вопрос A: вы можете попробовать Syncplify.me Server !, SFTP-сервер для Windows, который поддерживает PKI и Active Directory (в зависимости от ваших потребностей), поэтому вы можете легко интегрировать процесс аутентификации в свое клиентское программное обеспечение, не требуя пользователь для ввода пароля.
Ответьте на ваш вопрос B: как Сервер Syncplify.me! поддерживает группы Active Directory, пользователей, а также «универсального» виртуального пользователя, вы можете значительно упростить управление пользователями, используя такие функции (без необходимости каждый раз создавать / редактировать профили пользователей на сервере SFTP).
Ссылка на сайт: http://www.syncplify.me/syncplifyme-server.html
Старый вопрос, но ... Мы использовали CrushFTP, работающий на серверах Windows. Он работает и на других платформах, и клиент не нужен CrushFTP
Многие функции для безопасного доступа и интеграции с AD. Множество других замечательных функций, низкая стоимость и отличная поддержка. Не пробовал последние, но более ранние версии были отличными. Поддержка была исключением даже во время испытаний. Стоит посмотреть
Разрешение вашему клиентскому приложению аутентифицироваться на сервере SFTP с использованием существующих учетных данных для входа в систему в среде домена Windows в конечном итоге означает, что вы используете Kerberos. Ваш SFTP-сервер должен иметь поддержку Kerberos и работать на машине, которая является членом того же домена (или доверенного домена), что и ваш клиент. Ваш SFTP-клиент также должен иметь поддержку Kerberos. Я не уверен, как вы выполняете клиентское соединение в своем приложении, но вы можете это проверить.
Есть старый закрытый вопрос по Какой SSH-сервер лучше всего использовать в Windows?. Поскольку SFTP - это просто функция SSH, большинство ответов на этот вопрос было бы хорошим началом. Мое личное предпочтение - ответ, получивший наибольшее количество голосов, Bitvise SSH-сервер. Это собственный SSH-сервер Windows, в отличие от некоторого варианта OpenSSH, который был взломан для работы в Windows. И это относительно дешево по сравнению с большинством других платных опций.