O Nautilus pode configurar o SSHFS como / em vez de SFTP?

2

Eu tenho o Nautilus configurado para montar um sistema de arquivos remoto usando SFTP.

Isso funciona bem até agora, mas o SFTP parece ter alguns problemas que considero inúteis:

  1. Quando eu sobrescrevo um arquivo de texto existente, as permissões de leitura do grupo são removidas misteriosamente na máquina remota.
  2. Quando eu tento anexar um arquivo a um e-mail arrastando-o para o thunderbird, recebo um sftp: // url que a TB não pode usar (ainda, se eu abrir o diálogo TB attach e procurar .gvfs , tudo está bem).

Nada disso acontece quando eu montei manualmente o mesmo sistema de arquivos por meio do SSHFS. É possível configurar o Nautilus para usar o SSHFS? Um plugin talvez? Não aparece na lista "Connect to Server" das opções disponíveis.

EDIT : Tem sido apontado que o sshfs usa o protocolo sftp como backend. Embora isso possa ser verdade, o problema real é que acessar arquivos via Nautilus é menos fácil do que montar via sshfs, e eu gostaria de descobrir como fazer com que o Nautilus faça isso da melhor maneira.

    
por ams 14.12.2011 / 12:38

2 respostas

1

De Wikilivros OpenSSH

  

Outra maneira de transferir arquivos para frente e para trás, ou até mesmo usá-los remotamente, é usar o sshfs. É um cliente de sistema de arquivos baseado em SFTP e utiliza o subsistema sftp. Ele pode tornar um diretório no servidor remoto acessível como um diretório no sistema de arquivos local, que pode ser acessado por qualquer programa como se fosse um diretório local. O usuário deve ter privilégios de leitura / gravação para o ponto de montagem para usar o sshfs.

Então, finalmente, é o mesmo meio de comunicação. O SSHFS usa o SFTP. A diferença é que o sshfs é um driver de sistema de arquivos que permite montar uma unidade que permite acesso via SFTP. No entanto, o Nautilus não monta unidades, apenas as mostra. Você pode adicionar seu Sistema de Arquivos ao / etc / fstab para que ele seja montado no momento da inicialização, no entanto, eu não sugiro que a conexão ssh não esteja disponível. Mais fácil seria configurar um script bash que pode ser executado como aplicativo de inicialização.

O comportamento descrito em # 2 é apenas lógico: como você se conectou somente via SFTP, o arquivo que você arrasta para o thunderbird não existe em seu sistema de arquivos, mas como um caminho remoto.

Edite por causa do comentário:

Talvez eu tenha explicado que não é bom o suficiente. Aqui está um exemplo: Se o seu recurso remoto está no servidor fooserver e o diretório raiz é foodir, o arquivo está em foosubdir / foofile, então o caminho do recurso é sftp://fooserver/foodir/foosubdir/foofile . Quando você usa o Nautilus SFTP, esse ainda é o único caminho para acessar esse arquivo, é remoto. Se você usar o sshfs, o conteúdo do foodir ficará disponível a partir do seu sistema de arquivos - o sshfs é um driver do sistema de arquivos. Então é como se o arquivo estivesse armazenado no seu disco rígido. O conteúdo do recurso sftp://fooserver/foodir é logicamente mapeado em seu diretório de montagem ~/.gvfs . Então o thunderbird pode acessar este arquivo a partir do contexto do seu sistema de arquivos local como ~/.gvfs/foosubdir/foofile . O Thunderbird nem percebe que é um arquivo remoto, o driver do sistema de arquivos sshfs integrado ao kernel klinux faz o resumo para você.

    
por Michael K 14.12.2011 / 12:49
-1

Para montar a pasta remota do host para que você possa tratar os arquivos remotos como se fossem locais em seu cliente, use sshfs em vez de sftp . * Você precisará de um OpenSSH Server on Host antes do seguinte irá funcionar.

A pasta remota do host no cliente local

Do cliente, execute [1] :

test -e ~/mountpoint || mkdir --mode 700 ~/mountpoint
sshfs [email protected]:. ~/mountpoint -p <port-number>

Comece a usar o Nautilus

Agora abra a pasta local ~/mountpoint no Nautilus. Parabéns, você pode tratar arquivos remotos como se fossem locais em seu cliente!

Desmontar a pasta remota do host no cliente local

fusermount -u ~/mountpoint

* Detalhes: O SFTP é para transferência de arquivos de e para o Cliente e Host, enquanto o SSHFS é um cliente do sistema de arquivos que faz com que os arquivos remotos se comportem como locais. É como se você sincronizasse temporariamente a pasta remota do Host com uma pasta local virtual.

À medida que você interage com esses arquivos SSHFS, o cliente local enviará uma cópia SSH de um host para outro, para que as coisas se comportem como se fossem locais em seu cliente . Quaisquer alterações feitas, no entanto, entram em vigor no Host remoto e permanecem mesmo depois que você desmontar.

    
por jtd 14.11.2014 / 23:41