Sou como você, gosto de montar / desmontar meus sistemas de arquivos na linha de comando.
Sobre a opção stdin
I'm not sure if it's reasonably safe. Is it worse than .netrc items?
Você deve estar ciente de que, em muitos sistemas, os nomes de processos e os argumentos da linha de comando ficam visíveis para todos os usuários. No Linux, por exemplo, faça grep -a . /proc/*/cmdline
para ver todos eles.
Dito isso, em alguns shells, incluindo o bash, echo
é um comando interno, portanto, nenhum processo é iniciado.
Então, até onde eu sei, não deve ser pior do que .netrc
. Verifique as suas permissões de arquivo em qualquer caso.
SFTP
Você pode ter gvfs-mount sftp://somehost/somepath
sem senha. (Eu apenas testei isso com sucesso.)
A solução recomendada é usar a autenticação baseada em chave, não armazenar nenhuma senha em lugar algum.
Por exemplo, veja autenticação - Como posso configurar o login SSH sem senha? - Pergunte ao Ubuntu e maneira mais fácil copiar chaves ssh para outra maquina? - Pergunte ao Ubuntu (é escrito para o Ubuntu, mas funciona da mesma forma para outros Unices).
I know about ssh-copy-id, but I can't access shell on most of my sftp servers.
ssh-copy-id é apenas um atalho útil. Você não precisa de acesso ao shell para definir a autenticação baseada em chave, mas precisa acessar o diretório home.
Se você puder acessar seus arquivos de forma interativa com o SFTP, provavelmente será possível configurar ~/.ssh/
e ~/.ssh/authorized_keys
, a menos que o administrador tenha evitado isso com cuidado, mas isso seria um tiro em seus pés. Na verdade, o administrador deve incentivar os usuários a configurar a autenticação baseada em chave. Verifique qual é a política com eles.
Se você precisar apenas configurar apenas uma chave, basta copiar o arquivo-chave público (não particular) gerado acima (possivelmente ~/.ssh/id_rsa.pub
) para um arquivo remoto no diretório .ssh
chamado authorized_keys
e permissão de permissão 600
(leitura-escrita para você, nada para os outros).
FTP
Com relação aos URLs FTP, a resposta tradicional é usar um ~/.netrc
como explicado, por exemplo, no link .
Infelizmente, funciona muito bem com um zillion de clientes ftp, antigos e novos, incluindo curlftpfs
, mas (no Ubuntu 14.04 pelo menos) gvfsmount
o ignora.
Talvez curlftpfs
seja adequado ao seu caso de uso. A principal diferença é que você escolhe seu ponto de montagem em vez de ter gvfs-mount
compute one.
curlftpfs ftp://host/ ~/mymountpoint
SFTP, novamente
Se você gostar da opção curlftpfs
, considere as URLs do sftp,
sshfs host:/some/remote/path ~/myothermountpoint
E se for questionado se o sshfs precisa de acesso ao shell, a Wikipedia diz: O cliente interage com o sistema de arquivos remoto através do Protocolo de Transferência de Arquivos SSH ( SFTP), [2]
Uma palavra final: para ferramentas que precisam de um ponto de montagem explícito, pense em criar um diretório vazio primeiro no caminho correto. E se você estiver tentando várias vezes ou alterar opções, lembre-se de fusermount -u somepath
para desmontar antes de tentar montá-lo novamente.