Depende de como você pretende acessar seu armazenamento, na verdade.
Se você absolutamente precisa estar acessível como uma rede drive então eu acho que você tem que ir para uma VPN + CIFS . O CIFS é o protocolo de compartilhamento de arquivos usado pelo Windows para o compartilhamento de arquivos, e é implementado pelo conjunto SAMBA para sistemas POSIX. Infelizmente, devido a vários motivos, expor o CIFS diretamente às internets não é realmente possível ou aconselhável (o protocolo depende do uso de um mapeador de portas e tem um longo rastreamento de problemas de segurança), então eu diria se você está prestes a use-o, instale uma VPN na sua caixa Debian ( PPTP ou IPSec ou OpenVPN - pessoalmente eu acho que o último é o melhor aposta) e acesse seus compartilhamentos CIFS hospedados no Debian.
Se você quiser apenas trocar arquivos com o sistema remoto e não tiver unidades de rede no seu Explorer, há mais opções:
- Servidor FTP (protegido por senha; opcionalmente protegido por SSL) - antigo e de baixa segurança, mas acessível a partir de qualquer host Windows sem instalar nada.
-
servidor SSH . Alta segurança, geralmente vem pré-instalada. Requer software de terceiros do lado do Windows, como o WinSCP (ou o seu plug-in para FAR ou Total Commander ). O PuTTY , que é um cliente padrão do Windows para acessar hosts via SSH, vem com dois ferramentas de linha de comando,
pscp
epsftp
, que são como Unixcp
e comandossftp
do SSH (o último é um cliente semelhante a FTP usando SSH); isso é apenas para usuários hard-core, obviamente.
No entanto, outra abordagem é usar alguma solução especializada ("semelhante ao Dropbox"), por exemplo, SparkleShare ou OwnCloud . Obviamente, estas não são apenas coisas de troca de arquivos, e requerem uma configuração um pouco complicada no servidor (o último requer um DBMS em execução, por exemplo).
Atualização (2013-03-28): Devo acrescentar que pessoalmente gostaria de ir para o SSH. As razões:
- O SSH é a maneira padrão de acessar sistemas Unix pela rede para trabalhos interativos. Quero dizer, um tipicamente aluga um VPS para executar algo como LAMP nele ou algo assim. Mais cedo ou mais tarde, seria necessário apenas obter um shell remoto no servidor, e isso significa usar o SSH (e supostamente o PuTTY - na máquina do cliente). O
- SSH pode ser configurado (e deve, na verdade) de modo a permitir somente autenticação baseada em pubkey (em vez de baseada em senha). Basicamente, isso significa que você geraria um par de chaves (públicas e privadas), colocaria a parte pública no arquivo
~/.ssh/authorized_keys
em seu servidor e criptografaria a chave local (privada) com uma senha. Toda vez que você se conectar (ou uma vez por sessão de login, se um agente de chave (PuTTY tiver um) for usado), a senha será solicitada a descriptografar a chave privada; a autenticação continua usando essas chaves. Este esquema tem uma probabilidade estatisticamente muito baixa de ser forçado por força bruta (bem, a menos que uma falha crítica apareça no protocolo SSHv2 ou em sua implementação particular). - O WinSCP é realmente rico em recursos e seus plugins para gerenciadores de arquivos "clássicos" populares simplesmente funcionam. Se tudo falhar, as ferramentas do PuTTY podem ser usadas para trocar arquivos.
- Um ponto menor que não mencionei é que muitas ferramentas do programador (como o
netrw
plugin para o Vim), IDEs orientados para desenvolvimento web (como o Aptana) suportam edição semitransparente de arquivos "in place" sobre SSH ou SFTP .