Зависит от того, как вы собираетесь получить доступ к своему хранилищу.
Если вам абсолютно необходимо, чтобы он был доступен как сетевой диск, тогда я думаю, что вам нужно выбрать решение VPN + CIFS . CIFS - это протокол обмена файлами, используемый Windows для общего доступа к файлам, и он реализован пакетом SAMBA для систем POSIX. К сожалению, по ряду причин раскрытие CIFS непосредственно для интернет-сетей либо не представляется возможным, либо целесообразным (протокол основан на использовании средства преобразования портов и имеет много следов проблем безопасности), поэтому я бы сказал, что если вы собираетесь используйте его, установите VPN на свой компьютер Debian (PPTP или IPSec или OpenVPN - лично я считаю, что последний вариант - лучший выбор) и получите доступ к своим ресурсам CIFS, размещенным на Debian, через него.
Если вы просто хотите иметь возможность обмениваться файлами с удаленной системой, и у вас нет проблем с сетевыми дисками в проводнике, то есть еще несколько вариантов:
- FTP-сервер (защищенный паролем; опционально защищенный SSL) - старый и с низким уровнем безопасности, но доступный с любого хоста Windows без установки чего-либо.
- SSH сервер. Высокая безопасность, как правило, даже поставляется с предустановленной. Требуется стороннее программное обеспечение на стороне Windows, такое как WinSCP (или его плагин для FAR или Total Commander). PuTTY, который является де-факто стандартным клиентом Windows для доступа к хостам через SSH, поставляется с двумя инструментами командной строки,
pscp
и psftp
которые похожи на команды Unix cp
и SSH sftp
(последняя является FTP-подобным клиентом, использующим SSH); это только для жестких пользователей, очевидно.
Еще один подход заключается в использовании некоторого специализированного («Dropbox-подобного» решения), например SparkleShare или OwnCloud. Очевидно, что это не просто обмен файлами, и они требуют несколько сложной настройки на сервере (последний требует, например, работы СУБД).
Обновление (2013-03-28): Я должен добавить, что лично я бы пошел по SSH. Причины:
- SSH является де-факто стандартным способом доступа к системам Unix по сети для интерактивной работы. Я имею в виду, что обычно арендуют VPS для запуска чего-то вроде LAMP на нем или что-то вроде этого. Рано или поздно нужно будет просто получить удаленную оболочку на сервере, а это означает использование SSH (и предположительно PuTTY - на клиентской машине).
- SSH может быть настроен (и должен, на самом деле) таким образом, чтобы разрешить только аутентификацию на основе открытого ключа (а не на основе пароля). По сути, это означает, что вы должны сгенерировать пару ключей (открытый и закрытый), поместить открытую часть в файл
~/.ssh/authorized_keys
на вашем сервере и зашифровать локальный (закрытый) ключ с помощью пароля. Каждый раз, когда вы подключаетесь (или один раз за сеанс входа в систему, если используется ключевой агент (у PuTTY есть один)), пароль запрашивается для расшифровки закрытого ключа; аутентификация затем продолжается с использованием этих ключей. Эта схема имеет очень-очень низкую статистическую вероятность быть грубой (хорошо, если только не появится критический недостаток в протоколе SSHv2 или его конкретной реализации).
- WinSCP действительно многофункциональный, и его плагины для популярных "классических" файловых менеджеров просто работают. Если все не удается, инструменты PuTTY могут быть использованы для обмена файлами.
- Один небольшой момент, который я не упомянул, заключается в том, что многие инструменты программиста (например, плагин
netrw
для Vim), ориентированные на веб-разработку IDE (например, Aptana), поддерживают полупрозрачное редактирование файлов "на месте" через SSH или SFTP.