2 minuto(s) de leitura

Esse tutorial irá mostrar como ativar a montagem automática de um diretório em rede no Linux utilizando a ferramenta sshfs. Isso irá permitir que o seu sistema operacional e todos os apps rodando nele possam interagir com a árvore de diretórios do sistema remoto como se fizesse parte do sistema local.

Vou utilizar o Debian 13 como base para este tutorial. Se você utiliza outra distro, precisará adaptar os procedimentos de acordo.

Para que esse procedimento funcione, o pacote openssh-server deverá estar instalado, e o serviço sshd deverá estar habilitado e rodando no PC remoto. Você pode verificar o status com o comando abaixo:

systemctl status sshd

Instalando o SSHFS

Primeiro vamos instalar o sshfs, a ferramenta que faz tudo isso acontecer.

sudo apt install sshfs

Criando o script de automação

Agora, crie (se não existir) a pasta na qual o nosso script precisará ficar para ser reconhecido pelo sistema:

mkdir -p "$HOME/.local/bin"

Copie e cole o código abaixo em um editor de texto e salve-o com o nome sftp_automount na pasta que você acabou de criar.

ATENÇÃO: Substitua os valores das 4 variáveis de acordo com as informações correspondentes para o seu caso de uso. Em caso de dúvidas, leia atenciosamente os comentários do script abaixo.

#!/bin/bash

# Variáveis:

userip="username@192.168.100.1" 		          # Usuário e IP do dispositivo remoto.
mymountpoint="$HOME/.mnt/NAS" 			          # Diretório no PC local onde o sistema de arquivos remoto será montado.
mymountsource="/" 				          # Diretório do dispositivo remoto que será montado no PC local.
errorfilelocation="$HOME/sftp_did_not_mount"         	  # Localização do indicador de erro no PC local.

# Execução:

sleep 10 # Os "sleeps" servem para dar tempo do Tailscale iniciar, caso esteja sendo utilizado.

mkdir -p "$mymountpoint"

sshfs $userip:$mymountsource $mymountpoint -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=120 -f
if [[ $? != 0 ]]; then
    sleep 20
    sshfs $userip:$mymountsource $mymountpoint -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=120 -f || touch "$errorfilelocation"
fi

Dê ao sftp_automount permissões de execução:

chmod +x "$HOME/.local/bin/sftp_automount"

Criando e ativando o serviço no systemd

Por fim, crie um serviço do systemd para que o script rode automaticamente toda vez que o seu usuário logar. Para isso, cole o conteúdo abaixo em um editor de textos:

[Unit]
Description=Automontagem de diretórios remotos com SSHFS

[Service]
ExecStart=%h/.local/bin/sftp_automount

[Install]
WantedBy=default.target

Crie a pasta na qual o arquivo será salvo:

mkdir -p "$HOME/.config/systemd/user"

Agora, salve o arquivo na pasta que você acabou de criar com o nome sftp_automount.service e rode o comando abaixo para ativar e habilitar o serviço:

systemctl --user enable --now sftp_automount.service

Reinicie o PC e pronto. O sistema de arquivos do dispositivo remoto deverá estar montado na pasta que você escolheu.

Agora, basta adicionar essa pasta como um atalho/favorito na barra lateral do gerenciador de arquivos e você terá acesso automático e facilitado a toda a árvore de diretórios do PC remoto.

Categorias: ,

Atualizado em: