Visite também: BR-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]

Tutorial/Admin/sshfs

De UnderLinux Wiki

Montando um servidor Linux com sshfs no Suse

Tabela de conteúdo

Introdução

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 teste

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.

Referências

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. </> <p style="text-indent: 26px;" align="justify"> 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 que kernel.

Automatizando

Para automatizar este processo de carregamente basta colocar a mesma linha no arquivo /etc/rc.d/boot.local.

Autor