SSHFS no CentOS, Slackware e Windows - Simples e rápido

O assunto não é novo, mas por sua grande utilidade, resolvi escrever este artigo, como uma pequena coleção de receitas prontas para os problemas mais comuns do dia a dia de quem precisa fazer backups remotos.

[ Hits: 8.762 ]

Por: Carlos Affonso Henriques. em 20/09/2012


Introdução



O SSHFS é um sistema de arquivos remotos implementado sobre o FUSE (Filesystem on Userspace).

Seu funcionamento é semelhante ao de um cliente NFS, podendo o usuário interagir com arquivos em uma máquina remota como se estivesse localmente, com simplicidade e segurança.

As possibilidades de uso são amplas, especialmente para backups remotos em conjunto com ferramentas, como o Rsync.

Instalação

O cliente SSHFS não é instalado, por padrão, no CentOS e no Slackware, então, será preciso instalá-los manualmente.

No CentOS

A instalação é muito simples, basta baixar o pacote em:
Escolha a versão mais atual e compatível com sua plataforma (i386 ou x86_64) e instale-a logado como root:

# rpm -ivh fuse-sshfs-2.2-1.el6.rf.x86_64.rpm

Caso haja exigência de alguma dependência, poderemos instalá-la através do yum.

No Slackware

Baixe a versão mais recente em:
Serão necessários os fontes, que no caso, é o arquivo "sshfs-fuse-2.4.tar.gz" e o script de criação do pacote, que está no arquivo "ssh-fuse.tar.gz".

Este último sim, deverá ser descompactado com o comando:

tar -zxvf ssh-fuse.tar.gz

Por padrão ele descompactará o arquivo para um diretório "ssh-fuse", feito isso, copie o arquivo com os fontes para dentro deste diretório e dê permissão de execução para o arquivo "sshfs-fuse.Slackbuild", com o comando:

chmod +x sshfs-fuse.Slackbuild

Em seguida, execute-o

# ./sshfs-use.Slackbuild

O script compilará os fontes e gerará o pacote em /tmp/sshfs-fuse-2.4-x86_64-1_SBo.tgz, agora é só instalá-lo com o comando:

# installpkg /tmp/sshfs-fuse-2.4-x86_64-1_SBo.tgz

No Windows

O cliente SSHFS para Windows é a biblioteca Dokan, licenciada sob a LGPL e emprega softwares adicionais sob a licença MIT.

Se você tiver o ".NET framework 4.0" instalado, basta instalar o Dokan, que pode ser baixado de:
Caso não tenha, pode usar o instalador do "win-sshfs", que irá baixar e instalar automaticamente os componentes necessários.

Ele pode ser baixado de:

Usando o SSHFS

Seu uso é muito simples, a sintaxe das opções é parecida com a do cliente SSH do GNU/Linux:

# sshfs [ip ou hostname da maquina remota ipv4 ou ipv6]:/[diretorio da maquina remota que deseja montar na maquina local]/[ponto de montagem na maquina local]

Exemplo:

# sshfs 192.168.10.1:/home /mnt/sshfs

Se você estiver logado como root na máquina local, ele irá montar o diretório /home da máquina remota como root, no ponto de montagem /mnt/sshfs.

Ao executar o comando df, ele exibirá o volume remoto montado, como algo parecido com:
192.168.10.1:/home 81915888 56897152 25018736 70% /mnt/sshfs


O SSHFS tem algumas opções bem interessantes que podem ser usadas sozinhas, ou em conjunto com outras, bastando para isso, preceder com a chave -o - É claro, cada uma delas.

Exemplo:

# echo "SeuPasword" | sshfs -o reconnect -o password_stdin seulogin@192.168.10.1:/home/seulogin /mnt/sshfs

No exemplo acima, o SSHFS montará o diretório do usuário, que chamei de "seulogin", sem solicitar password, e reconectará de forma transparente, em caso de perda de conexão.

Este método é particularmente interessante para o emprego em scripts de backup, em que você não tenha possibilidade de criar uma chave pública para conexão automática com SSH.

# echo "SeuPasword" | sshfs -p 999 -C -o reconnect -o password_stdin seulogin@192.168.10.1:/home/seulogin /mnt/sshfs

A chave -C do exemplo acima, faz a compressão dos dados e acelera consideravelmente a comunicação entre as máquinas.

Já a chave -p 999, diz para o cliente conectar-se á porta 999 TCP, se for o caso da máquina remota estiver escutando SSH na porta 999 TCP.

Montando automaticamente na iniciação do sistema operacional da máquina local

O SSHFS é muito versátil, podemos fazer com que ele monte automaticamente incluindo no /etc/fstab, os parâmetros de montagem são semelhantes aos do NFS.

Exemplo:

Se o SSH estiver configurado para logar por uma chave pública, basta acrescentar a seguinte linha ao /etc/fstab:

sshfs#seulogin@192.168.10.1:/home/seulogin/ /mnt/sshfs fuse comment=sshfs,users,reconnect 0 0

Para configurar o seu SSH para logar sem solicitação de senha, veja a dica:
Para mais detalhes, consulte:
Bom trabalho a todos!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Sistema de arquivos criptografado

Balanceamento de carga e alta disponibilidade com Bonding Driver e Iproute2

Gateway autenticado com Apache, Iptables e CGI em shell

Autenticando Documento com Blockchain e Ethereum

Access Point com cartão Atheros em Slackware 12.0

Leitura recomendada

ZFS no GNU/Linux

Usando Sistema de Arquivos BTRFS - Subvolumes, Snapshots e Compactação

Recuperando arquivos em um Windows corrompido com Linux

Gerenciando o HD com o fdisk

Expandindo partição em LVM

  
Comentários
[1] Comentário enviado por JJSantos em 22/09/2012 - 10:23h

Muito bom.

[2] Comentário enviado por cainf em 15/08/2013 - 19:39h

Amigo agora me diz uma coisa, eu preciso montar um mapeamento remoto mas atraves do Windows como a estação estivesse na rede local é possível fazer isso através do sshfs ???

Grato


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts