El siguiente tutorial funcionó para mí y proporciona capturas de pantalla útiles. Iniciar sesión como usuario normal con permisos de sudo simplemente requería ajustar algunas opciones de WinSCP:
http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html
Establezca el protocolo de sesión / archivo en: SCP, ingrese la dirección IP de host / instancia, el puerto, generalmente 22, y el nombre de usuario normal. Ingrese las credenciales de contraseña si el inicio de sesión lo requiere. Agregue el archivo de clave privada correspondiente del usuario en Avanzado / SSH / Autenticación.
Desmarcar Avanzado / SSH / Autenticación / intento de autenticación "interactiva con el teclado" debería permitir Avanzado / Entorno / SCP Shell / Shell / Shell: sudo su - para proporcionar permisos de sudo para acceder a los directorios del servidor web como usuario no propietario.
Actualizar: 03/08/2017
El registro de WinSCP puede ser útil para solucionar problemas.
winscp.net/eng/docs/logging:
[WinSCP] El registro se puede habilitar desde la página Registro del cuadro de diálogo Preferencias. El registro también se puede habilitar desde la línea de comandos utilizando los parámetros / log y / xmllog respectivamente, lo que es particularmente útil con las secuencias de comandos. En el ensamblado .NET, el registro de sesión se habilita mediante Session.SessionLogPath1).
Dependiendo de los errores de conexión de WinSCP, algunas instalaciones de servidores pueden necesitar una directiva agregada al archivo (Ubunto, CentOS, other-Linux-Server) / etc / sudoers para no requerir TTY para un usuario específico. Crear un archivo en /etc/sudoers.d/ (usando una herramienta como Amazon Command Line Interface o PuTTY) puede ser una mejor opción que editar / etc / sudoers. Algunas versiones de / etc / sudoers lo recomiendan:
Este archivo DEBE editarse con el comando 'visudo' como root. Considere agregar contenido local en /etc/sudoers.d/ en lugar de modificar directamente este archivo. Consulte la página de manual para obtener detalles sobre cómo escribir un archivo sudoers.
Al editar un archivo sudoers (como raíz) a través de la línea de comandos, el comando 'visudo' debe usarse para abrir el archivo, ya que analizará el archivo en busca de errores de sintaxis. Los archivos /etc/sudoers.d/ generalmente son propiedad de root y están modelados con permisos mínimos. Se puede hacer referencia al archivo / etc / sudoers predeterminado, ya que debería tener automáticamente los permisos de chmod recomendados en la instalación. por ejemplo: 0440 r - r -----.
superuser.com/a/869145:
visudo -f /etc/sudoers.d/somefilename
Defaults:username !requiretty
Enlaces Útiles:
- 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
Foro WinSCP: - winscp.net/forum/viewtopic.php?t=3046 - winscp.net/forum/viewtopic.php?t=2109
WinSCP Doc: https://winscp.net/eng/docs/faq_su
Con el protocolo SCP, puede especificar el siguiente comando como shell personalizado en la página SCP / Shell del cuadro de diálogo Configuración avanzada del sitio:
sudo -s
[...]
Tenga en cuenta que, dado que WinSCP no puede implementar la emulación de terminal, debe tener la opción sudoers requiretty desactivada.
Las instrucciones en Ubuntu Apache / etc / sudoers recomiendan agregar directivas a /etc/sudoers.d en lugar de editar / etc / sudoers directamente. Dependiendo de la instalación, agregar directivas a /etc/sudoers.d/cloud-init puede funcionar también.
Puede ser útil crear un usuario de prueba SSH con permisos de sudo siguiendo los pasos proporcionados en la documentación de la instancia para garantizar que el usuario haya recomendado la configuración de la instancia y que cualquier actualización de los archivos de sudoer del servidor pueda realizarse y eliminarse sin afectar a otros usuarios.