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

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.

Artigos relacionados

Tecnologia | Comentários

Comente

  1.  
  2.  
  3.  

Artigos recentes

Links

Deseja receber atualizações por e-mail? Inscreva-se aqui:

Comentários recentes

Feeds(Rss)