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!