Montar diretório remoto usando SSH


69

Como montar um diretório remoto usando SSHpara estar disponível como se fosse um diretório local?

Respostas:


78

Primeiro instale o módulo:

sudo apt-get install sshfs

Carregue-o no kernel:

sudo modprobe fuse

Definindo permissões (versões do Ubuntu <16.04):

sudo adduser $USER fuse
sudo chown root:fuse /dev/fuse
sudo chmod +x /dev/fusermount

Agora vamos criar um diretório para montar a pasta remota.

Eu escolhi criá-lo no meu diretório pessoal e chamá-lo remoteDir.

mkdir ~/remoteDir

Agora executei o comando para montá-lo (montar em casa):

sshfs maythux@192.168.xx.xx:/home/maythuxServ/Mounted ~/remoteDir

Agora ele deve ser montado:

cd ~/remoteDir
ls -l

Estou um pouco confuso ... no sshfscomando, acho que o diretório local do ponto de montagem é nomeado remoteDire, quando estou no servidor ssh, há um diretório /home/maythuxServ/Mountedque não é montado localmente e não sei dizer, ou cuidado, se é montado em outro lugar?
Volker Siegel

3
Eu pulei algumas dessas etapas na versão 14.04 quando usei o seguinte guia: help.ubuntu.com/community/SSHFS
Hemm

4
Nenhum grupo fusível necessário (Ubuntu 16.04, Nov 2017): stackoverflow.com/questions/35635631/ubuntu-15-10-no-fuse-group
Matt Kleinsmith

2
Em 18.04, pulei o segundo bloco completo - definindo permissões e ele funciona bem.
Optimist

3
Metade dessa resposta não funciona ou está desatualizada. Por favor, considere atualizar.
Luís de Sousa

18

Configurar autenticação baseada em chave ssh

Gere um par de chaves no host local.

$ ssh-keygen -t rsa

Aceite todas as sugestões com a tecla Enter.

Copie a chave pública para o host remoto:

$ ssh-copy-id -i .ssh/id_rsa.pub user@host

Instalar sshfs

$ sudo apt install sshfs

Montar diretório remoto

$ sshfs user@host:/remote_directory /local_directory

Não tente adicionar fs remotos ao / etc / fstab

Ou não tente montar compartilhamentos via /etc/rc.local.

Nos dois casos, não funcionará, pois a rede não está disponível quando o init lê / etc / fstab.

Instale o AutoFS

$ sudo apt install autofs

Edite /etc/auto.master

Comente as seguintes linhas

#+/etc/auto.master.d
#+/etc/auto.master

Adicione uma nova linha

/- /etc/auto.sshfs --timeout=30

Salvar e sair

Edite /etc/auto.sshfs

Adicione uma nova linha

/local_directory -fstype=fuse,allow_other,IdentityFile=/local_private_key :sshfs\#user@remote_host\:/remote_directory

Nome de usuário remoto é obrigatório.

Salvar e sair

Iniciar autofs no modo de depuração

$ sudo service autofs stop
$ sudo automount -vf

Observe os logs do servidor ssh remoto

$ ssh user@remote_server
$ sudo tailf /var/log/secure

Verifique o conteúdo do diretório local

Você deve ver o conteúdo do diretório remoto

Iniciar autofs no modo normal

Pare o AutoFS em execução no modo de depuração com CTRL-C.

Inicie o AutoFS no modo normal

$ sudo service autofs start

Desfrutar

(Testado no Ubuntu 14.04)


5

Com base em minhas experiências, não é necessário criar explicitamente o grupo de fusíveis e adicionar seu usuário a ele para montar o sistema de arquivos ssh.

Para resumir, aqui estão as etapas copiadas desta página:

  1. Instalar sshfs

$ sudo apt-get install sshfs

2.Criar ponto de montagem local

$ mkdir /home/johndoe/sshfs-path/

3.Monte a pasta remota /remote/pathpara/home/johndoe/sshfs-path/

$ sshfs remoteuser@111.222.333.444:/remote/path /home/johndoe/sshfs-path/

  1. E finalmente, para montar ...

$ fusermount -u /home/johndoe/sshfs-path/


3

Instalar sshfs

sudo apt-get install sshfs

Adicione ao fstab:

<USER>@<SERVER_NAME>:<server_path> <local_path> fuse.sshfs delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/<YOUR_USER_NAME>/.ssh/id_rsa,allow_other,default_permissions,rw,nosuid,nodev,uid=1000,gid=1000,nonempty 0 0
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.