O que é SSHFS
SSHFS (Secure SHell FileSystem) é um cliente que nos permite montar sistemas de arquivos remotos através do SSH File Transfer Protocol (SFTP) e interagir com diretórios e arquivos remotos na máquina local.
SFTP é um protocolo seguro de transferência de arquivos que fornece acesso a arquivos, transferência de arquivos e recursos de gerenciamento de arquivos pelo protocolo SSH. Porque o SSH usa um canal de criptografia de dados ao transferir arquivos de um computador para outro na rede, e o SSHFS é integrado ao módulo do kernel FUSE (sistema de arquivos para espaço do usuário), permitindo que qualquer usuário sem privilégios crie seu próprio sistema de arquivos.
Neste artigo, mostraremos como instalar e usar o cliente SSHFS em qualquer distribuição Linux para montar um sistema de arquivos ou diretório Linux remoto em uma máquina Linux local.
Passo 1: Instale o SSHFS no sistema Linux
Por padrão, o pacote sshfs não está presente em todas as distribuições principais do Linux, você precisa habilitar o epel em seu sistema Linux, instalar o SSHFS e suas dependências com a ajuda da linha de comando do Yum.
# yum install sshfs
# dnf install sshfs 【在 Fedora 22+ 发行版上】
$ sudo apt-get install sshfs 【基于 Debian/Ubuntu 的系统】
Etapa 2: criar o diretório de montagem SSHFS
Depois de instalar o pacote SSHFS, você precisa criar um diretório de ponto de montagem onde montará seu sistema de arquivos remoto. Por exemplo, criamos um diretório de montagem em /mnt/tecmint.
# mkdir /mnt/tecmint
$ sudo mkdir /mnt/tecmint 【基于 Debian/Ubuntu 的系统】
Etapa 3: montar o sistema de arquivos remoto usando SSHFS
Depois de criar seu diretório de ponto de montagem, agora execute a linha de comando a seguir como usuário raiz para montar o sistema de arquivos remoto no diretório /mnt/tecmint. O diretório de montagem pode ser qualquer diretório, dependendo da sua situação.
A linha de comando a seguir montará um diretório /home/tecmint remoto no diretório /mnt/tecmint local. (Não se esqueça de substituir xxxx pelo seu endereço IP e ponto de montagem).
# sshfs [email protected]:/home/tecmint/ /mnt/tecmint
$ sudo sshfs -o allow_other [email protected]:/home/tecmint/ /mnt/tecmint
【基于 Debian/Ubuntu 的系统】
Se o seu servidor Linux estiver configurado para autorização baseada em chave SSH, você precisará especificar o caminho para sua chave pública usando uma linha de comando como abaixo.
# sshfs -o IdentityFile=~/.ssh/id_rsa [email protected]:/home/tecmint/ /mnt/tecmint
$ sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email protected]:/home/tecmint/ /mnt/tecmint 【基于 Debian/Ubuntu 的系统】
Etapa 4: Verifique se o sistema de arquivos remoto é montado com êxito
Se você executou com sucesso o comando acima sem nenhum erro, verá uma lista de arquivos e diretórios remotos montados no diretório /mnt/tecmint
# cd /mnt/tecmint
# ls
[root@ tecmint]# ls
12345.jpg ffmpeg-php-0.6.0.tbz2 Linux news-closeup.xsl s3.jpg
cmslogs gmd-latest.sql.tar.bz2 Malware newsletter1.html sshdallow
epel-release-6-5.noarch.rpm json-1.2.1 movies_list.php pollbeta.sql
ffmpeg-php-0.6.0 json-1.2.1.tgz my_next_artical_v2.php pollbeta.tar.bz2
Etapa 5: verifique o ponto de montagem usando o comando df -hT
Se você executar o comando df -hT, verá os pontos de montagem do sistema de arquivos remoto.
# df -hT
Exemplo de saída:
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 730M 0 730M 0% /dev
tmpfs tmpfs 150M 4.9M 145M 4% /run
/dev/sda1 ext4 31G 5.5G 24G 19% /
tmpfs tmpfs 749M 216K 748M 1% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs tmpfs 749M 0 749M 0% /sys/fs/cgroup
tmpfs tmpfs 150M 44K 150M 1% /run/user/1000
[email protected]:/home/tecmint fuse.sshfs 324G 55G 253G 18% /mnt/tecmint
Etapa 6: montar permanentemente o sistema de arquivos remoto
Para montar permanentemente um sistema de arquivos remoto, você precisa modificar um /etc/fstab
arquivo chamado . Para fazer isso, abra o arquivo com seu editor favorito.
# vi /etc/fstab
$ sudo vi /etc/fstab 【基于 Debian/Ubuntu 的系统】
Vá para o final do arquivo e adicione a seguinte linha, salve o arquivo e saia. As entradas a seguir indicam que o sistema de arquivos remoto é montado usando as configurações padrão.
sshfs#[email protected]:/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0
Certifique-se de permitir o login sem senha SSH entre os servidores, para que o sistema de arquivos possa ser montado automaticamente após a reinicialização do sistema.
Se o seu servidor estiver configurado para autenticação baseada em chave SSH, adicione a seguinte linha:
sshfs#[email protected]:/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0
Em seguida, você precisa atualizar o arquivo fstab para que as alterações entrem em vigor.
# mount -a
$ sudo mount -a 【基于 Debian/Ubuntu 的系统】
Etapa 7: Desmonte o sistema de arquivos remoto
Para desmontar um sistema de arquivos remoto, basta executar o seguinte comando.
# umount /mnt/tecmint