Usando o sshfs junto com a conexão ssh ControlMaster

1

Eu quero usar o sshfs para montar um diretório do sistema remoto automaticamente quando fizer a primeira conexão ssh e desmontar o diretório quando eu finalmente desconectar.

Eu atualmente uso o recurso ControlMaster do ssh para que eu tenha que digitar a senha somente na primeira vez que eu conectar ao controle remoto. Muitas vezes tenho várias conexões ssh em execução simultaneamente.

Eu acho que posso ter um script executado a partir do ssh quando ele se conecta (pareço lembrar que há uma maneira de fazer isso) e o script pode verificar a existência da montagem antes de tentar fazê-lo.

No entanto, não tenho certeza de como limpar a montagem quando o último ssh (o master) sair.

    
por Chris Green 30.10.2018 / 18:29

1 resposta

0

A opção para executar um comando ao se conectar é LocalCommand , que deve ser ativada configurando PermitLocalCommand to yes , por exemplo

ssh -oPermitLocalCommand=yes -oLocalCommand="sshfs server:dir /mnt &" myhost

Observe o & , sem que a conexão real não abra até que o sshfs saia. Isso só é executado no mestre (por isso, seria seguro adicioná-lo a ~/.ssh/config ).

Não há equivalente para executar um comando na saída, mas, desde que você use sshfs no mesmo host da conexão principal, ele usará essa conexão. Quando o seu shell na sessão mestre sair, a sessão não será fechada até que qualquer outra conexão seja encerrada ou o master seja terminado . Então, se você digitar Ctrl-C depois de sair do seu shell, o processo sshfs será finalizado também e desmontará o sistema de arquivos.

    
por 02.11.2018 / 14:45

Tags