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.780 ]

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

Autenticando Documento com Blockchain e Ethereum

Customizando e atualizando o Slax

Impedindo o compartilhamento de conexão

Sistema de arquivos criptografado

Obtendo TimeStamps da Blockchain com OpenTimestamps

Leitura recomendada

Desvendando os filesystems

Configurando leitores ópticos e HDs

Reparticionando ReiserFS via linha de comando

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

Fazendo particionamento avançado no Debian

  
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