Montando um servidor Linux com sshfs no suse
Por Willian Itiho Amano em 26/09/2007
Eu estava a procura de uma maneira de fazer um “mount” de um sistema de arquivos em um servidor Linux utilizando o SSH. Para quem não sabe o SSH também faz transferência de arquivos e não apenas envio de comandos e recebimento de respostas.
Alguns podem me perguntar porque não utilizar o fish do KDE? A resposta é que no fish o acesso aos arquivos do servidor remoto não é tão transparente quanto ao montar um compartilhamento NFS ou Samba, pois, por baixo dos panos, ele ainda precisa transferir o arquivo inteiro antes de abri-los ou salvar.
Porque não utilizar o NFS ou o Samba? Simples. Porque com este método não é necessário configuração nenhuma no servidor além do sshd nativo.
Requerimento
- sshfs (Presente no CD de instalação)
Carregando o módulo fuse
Para o funcionamento do sshfs é necessário o carregamento do módulo do kernel fuse. Carregue com:
# modprobe fuse
Automatizando
Para automatizar o carregamento do módulo, adicione ao arquivo /etc/rc.d/boot.local sequinte linha:
/sbin/modprobe fuse
Montando
Para fazer uma montagem logicamente necessitamos de um ponto de montagem, então é isto que criaremos aqui:
# mkdir /mnt/sshfs
Agora podemos montar. Com o comando sshfs -h você encontrará diversas opções mas nada mais praticamente as mesmas opções encontradas no ssh. Utilizaremos a seguinte sintaxe:
$ sshfs usuario@<ip_do_servidor>:<pasta_do_servidor> /mnt/sshfs
Reparem que o comando pode ser executado como usuário comum.
Considerações
Eu não fiz uma montagem permanente com o fstab pois terá necessidade de utilizar uma chave RSA para autenticação automática, tendo em vista que o sshfs pede senha da mesma forma que o ssh o que impossibilita a montagem sem intervenção humana.
Referencias
Corrigindo os erros
Por obra do além o módulo do fuse simplesmente parou de ser carregado com o comando modprobe. Verifiquei no modprobe.deb e o caminho do módulo está ok. Todavia ele não apresenta nenhum erro ao ser executado mas simplesmente não carrega.
Para resolver isso eu utilizei o comando insmod que tem como parâmetro o caminho do módulo e não busca no modprobe.deb como o modprobe faz.
Então faremos o seguinte:
# insmod /lib/modules/2.6.18.2-34-default/kernel/fs/fuse/fuse.ko
Substitua logicamente o 2.6.18.2-34-default pelo seu kernel.
Automatizando
Para automatizar este processo de carregamente basta colocar a mesma linha no arquivo /etc/rc.d/boot.local.

Comente