Primeiro, permita-se usar sudo su para root do usuário não-root que você fará login, adicionando uma linha como:
username ALL=NOPASSWD: ALL
ou (para melhor segurança) :
username ALL=NOPASSWD: /bin/sftp-server
para o arquivo /etc/sudoers .
Em seguida, usando o WinSCP com o protocolo de arquivo de sessão como SCP, em Configurações, escolha Ambiente | SCP / Shell e, em seguida, escolha o shell como sudo su - .
Sei que você já disse que tentou sudo su - , mas isso só funcionará se você também tiver adicionado a linha ao arquivo sudoers . Eu confirmei isso no meu servidor, que não tem login de root via SSH, e funcionou muito bem.
Eu então consegui usar a GUI para copiar arquivos da raiz que são 0600 (de propriedade do root) e consegui gravar no diretório raiz. Além disso, se eu abrisse uma janela de terminal do WinSCP e fizesse id , ela me mostraria root .
Isso só funcionou com o SCP como o protocolo de arquivos. Eu não consegui fazê-lo funcionar com o SFTP no WinSCP.