|
[08/09]
:. Lançado VirtualBox 2.0 [08/09] :. Intel aumenta velocidade dos Xeon quad-core para 3,4 GHz [07/09] :. WebKit integrará recursos do Google Chrome [06/09] :. Rodando o Chrome no Linux, via Wine [06/09] :. Firefox 3.1 alpha 2 disponível [05/09] :. Resumo do dia [05/09] :. Lançado Django 1.0, framework para aplicações web [04/09] :. Google Chrome será integrado ao Android [04/09] :. AMD anuncia oficialmente grade de futuros lançamentos [04/09] :. Samsung: Blu-Ray terá mais 5 anos de vida [04/09] :. Resumo do dia [04/09] :. A nova temporada de lançamentos de distros [04/09] :. Governo chinês desenvolve chip compatível com instruções x86 [04/09] :. Google altera licença 'ameaçadora' do navegador Chrome [04/09] :. Kingston lança memória de baixa latência para notebooks :. Mais noticias » |
Além de permitir rodar comandos e aplicativos remotamente, o SSH inclui também um módulo de transferência de arquivos, o SFTP, usado por 9 em cada 10 administradores de sistemas Linux. Para transferir arquivos, o comando básico é o "sftp", que lhe dá um prompt de transferência de arquivos. O uso é similar ao do SSH, basta incluir o login de acesso e o endereço do servidor, como em:
# sftp gdh@gdhn.com.br
Nas distribuições baseadas no KDE, você obtém a mesma função através do módulo "fish://" do Konqueror. Basta digitar "fish://usuario@servidor" na barra de endereços. O grande problema é que, em ambos os casos, 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-lo ou salva-lo. Se você tentar abrir um arquivo de vídeo, por exemplo, ele vai primeiro transferir todo o arquivo para um diretório temporário e só então abrí-lo. Em dicas anteriores, falei sobre o shfs, que permite montar diretórios remotos usando o SSH, como se fossem compartilhamentos de rede. Montar os diretórios torna o acesso mais transparente e mais robusto, tornando o acesso aos arquivos muito mais ágil, sobretudo quando você precisa apenas editar pequenos arquivos. O shfs foi abandonado pelo mantenedor e se tornou obsoleto (o módulo sequer compila nas versões atuais do Kernel), mas já temos um sucessor aprimorado para ele, o sshfs. Apesar do nome ser parecido, o modo de funcionamento dos dois é bastante diferente. O antigo shfs utilizava um módulo de Kernel, que precisava ser compilado durante a instalação e que causava problemas de instabilidade em algumas versões. O sshfs, por sua vez, utiliza uma estrutura bem mais limpa, baseada no uso do módulo fuse (o mesmo subsistema utilizado pelo GmailFS), que já vem pré-instalado em praticamente todas as distribuições atuais. A única grande limitação é que (pelo menos por enquanto) ele só roda no Linux, o que deixa de fora administradores que utilizam o putty ou outro cliente SSH for Windows. Se você está usando uma versão recente do Ubuntu, o Debian Etch (em diante) ou qualquer distribuição recente da família do Debian, você pode instalá-lo diretamente via apt-get:
# apt-get install sshfs
# yum install sshfs
Com o pacote instalado, o uso é bastante simples. Use o comando "sshfs", seguido pelo usuário, endereço do servidor, a pasta remota e a pasta local onde ela será montada, como em:
# sshfs morimoto@gdhn.com.br:/home/morimoto gdhn/
# sshfs root@192.168.1.254:/ /mnt/servidor
# fusermount -u /mnt/gdhn
# sshfs root@gdhn.com.br:/var/www/gdhn /mnt/gdhn -o allow_other
Para isso, você precisa apenas adicionar o login desejado ao grupo "fuse", como em:
# adduser morimoto fuse
Se, ao tentar montar usando um login de usuário, você receber uma mensagem de erro como "fusermount: user has no write access to mountpoint /mnt/servidor", verifique as permissões de acesso da pasta local. Para que você consiga fazer a montagem, é necessário que o usuário tenha permissão de escrita na pasta local indicada. Se, por outro lado, você receber um erro "fuse: device not found", significa que o módulo fuse, do qual o sshfs depende não está carregado. Você pode carregá-lo rapidamente usando o modprobe:
# modprobe fuse
Se, mesmo depois de carregado o módulo fuse, você receber o erro "fusermount: failed to open /dev/fuse: No such device or address", descarregue o módulo, crie o device manualmente e carregue-o novamente em seguida, como em:
# modprobe -e fuse
# mknod -m 666 /dev/fuse c 10 229 # modprobe fuse
$ sshfs -p 42222 gdhn.com.br:/home/morimoto /home/morimoto/gdhn
O sshfs pode ser usado tanto em conexões via Internet quanto dentro da sua própria rede local, em substituição a sistemas mais tradicionais de compartilhamento de arquivos, como o Samba e o NFS. Ele também possui um baixo overhead, o que permite que ele seja usado mesmo em conexões lentas, como no caso das conexões via modem ou via GPRS. No caso de conexões ruins, você pode tornar a montagem mais robusta adicionando as opções "-o reconnect" e "-o sshfs_sync". Elas fazem com que o sshfs tente restabelecer a conexão automaticamente sempre que ela for perdida e sincronize as operações de escrita, minimizando assim a possibilidade de perda ou de corrupção dos arquivos devido a quedas na conexão.
|
||||||||||||||||||||||||||||