Como Montar Diretórios Remotos no Linux com SSHFS

Sshfs Featured

Certamente não faltam soluções quando se trata de sincronizar arquivos entre dois dispositivos. Embora o Google Drive e o Microsoft OneDrive possam não oferecer clientes oficiais para Linux, o NextCloud e outros o fazem. Mas talvez você não confie em uma grande corporação para armazenar seus arquivos. Ou, talvez, você queira mais segurança do que o NextCloud oferece. Com todos os componentes que entram na construção de algo como o NextCloud, é provável que ele tenha mais buracos de segurança não descobertos do que soluções mais simples.

Por que Usar SSHFS?

Do ponto de vista do usuário final, isso é muito fácil de usar, limpo e simples. Também é incrivelmente seguro, pois se baseia no servidor OpenSSH testado em batalha e comprovado. A criptografia também é de primeira linha, então você pode ter certeza de que ninguém pode roubar seus arquivos enquanto estão em trânsito. Um servidor corretamente configurado e atualizado que apenas escuta conexões SSH geralmente é impossível de quebrar para todos, exceto os atacantes mais habilidosos (pense na NSA, especialistas em segurança, etc.). E eles provavelmente não querem seus arquivos.

Por que Você Não Queria Usar SSHFS

Se você deseja a melhor velocidade de transferência possível, pode querer usar outras soluções, como NFS. O SSHFS não é o mais lento se sua conexão com a Internet for de alta qualidade, mas também não é o mais rápido. E se você quiser transferir diretórios que contêm centenas de pequenos arquivos, isso se torna horrível. Além disso, se você quiser ajustar as configurações de compartilhamento de arquivos, com base em usuários individuais ou outros fatores, pode querer usar outro software.

Para resumir, se tudo o que você precisa é de uma maneira fácil e segura de sincronizar um diretório remoto com um local e não está com muita pressa, você provavelmente ficará satisfeito com esta solução.

Instalar SSHFS

Em instalações baseadas em Arch Linux, use este comando:

sudo pacman -Ssshfs

Se você estiver em uma distribuição baseada em Fedora, use:

sudo dnf installsshfs

No Debian, Ubuntu e família, use:

sudo apt installsshfs

Para aqueles que usam OpenSUSE, digite este comando:

sudo zypper installsshfs

Configuração do Servidor

Se você aluga um servidor ou VPS, o daemon do servidor OpenSSH já está configurado. Siga os passos recomendados pelo seu provedor de serviços em nuvem para configurar um usuário regular (não-root). Alguns permitem que você faça isso diretamente do painel de controle da web e até permitem que você importe a chave pública para permitir o acesso SSH. Nesse caso, gere os pares de chaves localmente, com o comando ssh-keygen. Depois, importe a chave pública de “/home/seu_nome_de_usuario/.ssh/id_rsa.pub.”

Se o provedor de nuvem não oferecer uma ferramenta para importar facilmente chaves públicas SSH, faça isso manualmente. No mínimo, desative o login root e desative os logins por senha. Use chaves SSH exclusivamente: elas são impossíveis de quebrar por força bruta, assim como senhas.

Se você quiser sincronizar arquivos entre dois computadores em casa, basta tratar um como servidor (instalar o pacote openssh-server e configurar) e o outro como cliente. Os mesmos passos se aplicam.

Montar um Diretório Remoto Localmente com SSHFS

Primeiro, crie um diretório que será sincronizado com o lado remoto.

mkdir$HOME/sshfs

Em seguida, monte o diretório remoto localmente através do SSHFS. Substitua “user” pelo nome de usuário real criado em seu servidor e “203.0.113.1” pelo endereço IP real de sua instância remota.

sshfs [email protected]:/home/user $HOME/sshfs

Claro, se você não quiser sincronizar todo o diretório home do usuário no lado do servidor, basta substituir “/home/user” por “/home/user/some_other_directory” após criá-lo no servidor.

Quando você quiser desmontar, use este comando:

cd&& fusermount -u$HOME/sshfs

Conclusão

Se você quiser que um diretório seja sincronizado permanentemente com o lado remoto, adicione um comando como sshfs [email protected]:/home/user $HOME/sshfs no seu gerenciador de inicialização automática. Cada gerenciador gráfico tem um gerenciador de configuração de inicialização automática diferente, então consulte o(s) manual(is) de ajuda do seu ambiente de desktop. Algumas fontes recomendam adicionar uma entrada em “/etc/fstab”, mas aconselhamos você a evitar isso, pois a falha ao montar o diretório pode resultar na falha total do seu sistema ao inicializar.

Espero que isso cubra todas as suas necessidades. Mas, se não cobrir, você pode ler sobre mais opções de linha de comando no manual online do SSHFS.