Os arquivos remotos são acessados como o usuário remoto com o qual você efetuou login, por exemplo, root. Não há outro jeito, realmente.
O erro que você recebe é devido a permissões no lado local. É uma coisa estranha no FUSE, no qual o SSHFS é baseado. Por padrão, somente o usuário que fez a montagem pode acessar um sistema de arquivos FUSE. Mesmo root não pode acessá-lo. Evitar o acesso do usuário root não é uma restrição de segurança, pois o root pode su (1) / setuid (2) para o usuário que montou o sistema de arquivos, é uma limitação da arquitetura interna do FUSE. Desde que você fez a montagem como um usuário não-root, também acessa o sistema de arquivos como aquele usuário não-root. A execução de dd
sob o sudo não está lhe comprando nada aqui, portanto, basta executar
dd if=~/Destkop/netdisk/sdb | gzip -c > ~/Destkop/ddbackup/image.gz
quais ( uso inútil de dd ) simplifica para baixo para
dd if=~/Destkop/netdisk/sdb | gzip -c > ~/Destkop/ddbackup/image.gz
qual o uso inútil do gato simplifica até
gzip <~/Destkop/netdisk/sdb >~/Destkop/ddbackup/image.gz
Se sdb
for um dispositivo de bloco e não um arquivo normal no lado remoto, ele não funcionará por um sistema de arquivos remoto (se a entrada do dispositivo for uma entrada de dispositivo, seria o dispositivo local, o que é indesejável ). Use o ssh para acessá-lo:
ssh root@PC1 cat /dev/sdb | gzip >~/Destkop/ddbackup/image.gz
Em qualquer caso, você economizaria largura de banda fazendo a compactação no lado remoto:
ssh root@PC1 'gzip </dev/sdb' >~/Destkop/ddbackup/image.gz