Manual
do
Maker
.
com
Nesse artigo veremos como usar SSHFS, seja Raspberry, outra placa ou outra arquitetura. A sintaxe será a mesma para qualquer Linux e, vejam só, dá pra utilizá-lo também com Windows. Mas no Windows não tenho como testar porque em casa todos os computadores rodam apenas Linux.
Com SSHFS você deverá ter um diretório compartilhado entre diferentes computadores como se fosse um compartilhamento de Windows. Depois de fazer a parte manual, poderá utilizar o gerenciador de arquivos para acessar e manipular os arquivos contidos no diretório compartilhado.
Existem vários sistemas de arquivos em rede, como o NFS e SAMBA, que são os mais populares. Assim como cada um dos dois citados cabe em uma situação específica, o SSHFS também tem seu lugar.
No Linux normalmente temos o SSHFS por padrão, bastando "montá-lo". O termo "montagem" é utilizado para disponibilização de dispositivos de massa, seja local (pendrive, HD, SSD) ou remoto (dispositivos de armazenamento em rede, como SAMBA, AD, NFS).
Se não estiver disponível no sistema, no Debian e suas variações podemos instalá-lo assim:
sudo apt-get install sshfs
Para permitir montagem remota do sistema de arquivos, no Raspberry Pi e no host edite o arquivo /etc/fuse.conf e descomente (remova a cerquilha) a linha user_allow_other e mount_max . Ela deve ficar assim:
# /etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE)
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
mount_max = 1000
# Allow non-root users to specify the allow_other or allow_root mount options.
user_allow_other
Crie um diretório para compartilhar e se necessário, dê total permissão a ele:
mkdir /home/pi/shared
chmod 0777 /home/pi/shared
E crie um diretório no outro computador também:
mkdir sshfs_pi
chmod 0777
Para montar o diretório do RPi localmente, use:
sshfs pi@192.168.1.2:/home/pi/shared /home/djames/sshfs_pi/ -o allow_other,default_permissions
Para testar, crie um arquivo dentro do diretório compartilhado em qualquer um dos hosts (ou nos dois, como na imagem de destaque). Fácil ou não?
Quando terminar de usar, poderá "desmontar" o compartilhamento:
sudo umount /home/djames/sshfs_pi
Dá pra fazer de diversas formas, como criando um serviço de sistema, fazendo um script para iniciar no ~/****.profile ou diretamente através do /etc/fstab, que é o arquivo de pontos de montagem do sistema operacional. A linha de montagem no fstab deve ficar assim:
pi@192.168.1.2:/home/pi/shared /home/djames/sshfs_pi fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/djames/.ssh/id_rsa,allow_other,default_permissions,uid=1000,gid=1000 0 0
A sintaxe é usuário@ip:DIRETORIO_REMOTO DIRETORIO_LOCAL <opções de montagem>.
Nas opções de montagem temos uid e gid, que é o ID do usuário e o ID do grupo do usuário. Uma das maneiras de saber quais são esses IDs é através do arquivo /etc/passwd:
Para Windows, instale o WinFsp e também SSHFS-Win. Siga as instruções desse repositório. Se quiser um programa gráfico, pode experimentar o SSHFS-Win Manager ou o SiriKali, que é multiplataforma:
Adicione os parâmetros como se fosse a montagem por linha de comando. Ele oferece a opção de montar automaticamente no boot também. Depois de adicionado, o host ficará disponível em Favorites:
E daí por diante. Particularmente, não gosto de usar interface gráfica para configurações de sistema. Acho que dá mais trabalho entender o programa do que digitar um comando direto e objetivo, mas fica a critério de cada um.
Fiz um vídeo mostrando o funcionamento do recurso, utilizando uma VM Ubuntu no host Linux do meu computador. Veja como usar sshfs na prática.
Até a próxima!
Revisão: Ricardo Amaral de Andrade
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.