Como @allquixotic declarou em sua resposta, você pode usar o SSHFS para montar um caminho remoto em uma pasta local. Para conseguir o que você pediu, você precisa de uma solução semelhante a essa .
Como o SSHFS usa o SSH File Transfer Protocol como base, isso significa que um servidor é gerado quando você faz login como um usuário. Mas isso também significa que você não pode diretamente executar su
, porque um shell não é gerado.
Uma maneira de contornar isso é executar o servidor como root, e você pode fazer isso com o -o sftp_server
como indicado no documentação . Assim:
sshfs username@host:remote_path local_mount_path -o sftp_server="/usr/bin/sudo /usr/libexec/openssh/sftp-server"
No entanto, como sudo
requer uma autenticação (obviamente), você precisa de uma maneira de autenticá-lo. Você pode usar duas alternativas diferentes:
- Use o arquivo sudoers para adicionar a possibilidade de executar
sftp-server
, por seu usuário, sem pedindo uma senha. Veja como fazê-lo aqui Não importa se é para o Ubuntu). -
Execute
sudo
com SSH e, em seguida, execute o comandosshfs
. Isso permitirá que o sudo seja executado sem uma senha, já que você já o executou um momento antes. Isso atualizará o tempo limite por 5 minutos:ssh username@host sudo -v
Você também pode tentar enviar a senha diretamente para sudo
, mas eu não recomendo isso, pois ela é insegura e provavelmente não funcionará porque servidor não é gerado por um shell.