O tutorial a seguir funcionou para mim e fornece capturas de tela úteis. Fazer o login como um usuário regular com permissões sudo simplesmente exigiu o ajuste de algumas opções do WinSCP:
link
Defina o protocolo Session / File como: SCP, insira host / ip da instância, porta - geralmente 22 e nome de usuário comum. Digite as credenciais de senha se o login exigir isso.
Adicione o arquivo de chave privada correspondente do usuário em Avançado / SSH / Autenticação.
Desmarque a autenticação Advanced / SSH / Authentication / try "keyboard interactive" para permitir Advanced / Environment / SCP Shell / Shell / Shell: sudo su - para fornecer permissões sudo para acessar os diretórios do servidor 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:
[WinSCP] Logging can be enabled from Logging page of Preferences dialog.
Logging can also be enabled from command-line using /log and /xmllog
parameters respectively, what is particularly useful with scripting.
In .NET assembly, session logging is enabled using
Session.SessionLogPath1).
Dependendo dos erros de conexão do WinSCP, algumas instalações do servidor podem precisar de uma diretiva adicionada ao arquivo (etc, sudoers do Ubunto, do CentOS e de outros servidores Linux) para não requerer o TTY para um usuário especificado. Criar um arquivo em /etc/sudoers.d/ (usando uma ferramenta como o Amazon Command Line Interface ou o PuTTY) pode ser uma opção melhor do que editar o / etc / sudoers. Algumas versões do / etc / sudoers recomendam:
This file MUST be edited with the 'visudo' command as root.
Please consider adding local content in /etc/sudoers.d/ instead of
directly modifying this file.
See the man page for details on how to write a sudoers file.
Ao editar um arquivo sudoers (como root) por meio da linha de comando, o comando 'visudo' deve ser usado para abrir o arquivo, pois ele analisará o arquivo em busca de erros de sintaxe. Os arquivos /etc/sudoers.d/ são tipicamente de propriedade de root e chmoded com permissões mínimas. O arquivo padrão / etc / sudoers pode ser referenciado, já que deve ter automaticamente as 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
Documento WinSCP: link
With SCP protocol, you can specify following command as custom shell
on the SCP/Shell page of Advanced Site Settings dialog:
sudo -s
[...]
Note that as WinSCP cannot implement terminal emulation, you need to
have sudoers option requiretty turned off.
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 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 recomendou configurações de instância e qualquer atualização nos arquivos sudoer do servidor pode ser afetada e removida sem afetar outros usuários.