O tutorial a seguir funcionou para mim e fornece capturas de tela úteis. Para fazer o login como um usuário comum com permissões sudo, é necessário ajustar algumas opções do WinSCP:
http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html
Defina o protocolo Session / File como: SCP, digite ip do host / instância, porta - geralmente 22 e nome de usuário comum. Digite as credenciais da senha se o login exigir. Adicione o arquivo de chave privada correspondente do usuário em Avançado / SSH / Autenticação.
Desmarcar Avançado / SSH / Autenticação / tentativa de autenticação "teclado interativo" deve permitir Avançado / Ambiente / Shell SCP / Shell / Shell: sudo su - para fornecer permissões de sudo para acessar diretórios de servidor da Web como um usuário não proprietário.
Atualização: 08/03/2017
O log do WinSCP pode ser útil para solucionar problemas.
winscp.net/eng/docs/logging:
O registro [WinSCP] pode ser ativado na página Registro da caixa de diálogo Preferências. O log também pode ser ativado na linha de comando usando os parâmetros / log e / xmllog, respectivamente, o que é particularmente útil com scripts. No assembly .NET, o log de sessão é ativado usando Session.SessionLogPath1).
Dependendo dos erros de conexão do WinSCP, algumas instalações de servidor podem precisar de uma diretiva adicionada ao arquivo (Ubunto, CentOS, outro servidor Linux) / etc / sudoers para não exigir TTY para um usuário especificado. Criar um arquivo em /etc/sudoers.d/ (usando uma ferramenta como Amazon Command Line Interface ou PuTTY) pode ser uma opção melhor do que editar / etc / sudoers. Algumas versões do / etc / sudoers recomendam:
Este arquivo DEVE ser editado com o comando 'visudo' como root. Por favor, considere adicionar conteúdo local em /etc/sudoers.d/ em vez de modificar diretamente esse arquivo. Consulte a página do manual para obter detalhes sobre como gravar um arquivo sudoers.
Ao editar um arquivo sudoers (como root) pela linha de comando, o comando 'visudo' deve ser usado para abrir o arquivo, pois ele analisará o arquivo quanto a erros de sintaxe. Os arquivos /etc/sudoers.d/ geralmente pertencem ao root e são modificados com permissões mínimas. O arquivo / etc / sudoers padrão pode ser referenciado, pois deve ter automaticamente permissões chmod recomendadas na instalação. por exemplo: 0440 r - r -----.
superuser.com/a/869145:
visudo -f /etc/sudoers.d/somefilename
Defaults:username !requiretty
Links úteis:
- Stackoverflow: stackoverflow.com/questions/25688850/cloud-init-how-to-add-default-user-to-sudoers-d
- www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos
Fórum WinSCP: - winscp.net/forum/viewtopic.php?t=3046 - winscp.net/forum/viewtopic.php?t=2109
Doc do WinSCP: https://winscp.net/eng/docs/faq_su
Com o protocolo SCP, você pode especificar o seguinte comando como shell personalizado na página SCP / Shell da caixa de diálogo Configurações avançadas do site:
sudo -s
[...]
Observe que, como o WinSCP não pode implementar a emulação de terminal, você precisa ter a opção sudoers requiretty desativada.
As instruções no Ubuntu Apache / etc / sudoers recomendam adicionar diretivas ao /etc/sudoers.d em vez de editar o / etc / sudoers diretamente. Dependendo da instalação, adicionar uma diretiva ao /etc/sudoers.d/cloud-init também pode funcionar.
Pode ser útil criar um usuário de teste SSH com permissões sudo, seguindo as etapas fornecidas na documentação da instância para garantir que o usuário tenha as configurações de instância recomendadas e que quaisquer atualizações nos arquivos do sudoer do servidor possam ser efetuadas e removidas sem afetar outros usuários.