CentOS 7: No se puede conectar a través de WinSCP cuando se ejecuta bash

CentOS 7: No se puede conectar a través de WinSCP cuando se ejecuta bash

Estoy ejecutando CentOS Server 7 en una VM (ESXi) con permisos de root. Tengo un script bash (en mi directorio /etc/profile.d/) que se ejecuta inmediatamente después de iniciar sesión. Antes de crear mi archivo .sh en el directorio, no había problemas para conectarme a mi VM a través de WinSCP. Después de crear el archivo y reiniciar el sistema, ya no puedo conectarme. OpenSSH está instalado. Parece que la ejecución de bash bloquea la conexión. Si elimino mi archivo .sh a través de la consola después, la conexión se establece nuevamente. ¿Es esto un problema de CentOS? Nunca tuve este problema en Ubuntu Server.

Error que recibo:

No se puede inicializar el protocolo SFTP. ¿El host ejecuta un servidor SFTP?

¿Algunas ideas? ¡Gracias de antemano!

Respuesta1

No nos estás mostrando tu guión, por lo que esto es obviamente algo especulativo; pero lo más probable es que su script no debería estar incluido profile.dporque requiere algún tipo de interacción del usuario.

El perfil debe reservarse exclusivamente para cosas que deben ejecutarse incluso en sesiones no interactivas.

El lugar adecuado para la funcionalidad interactiva probablemente no sea en sus scripts de inicio de sesión, pero algo como esto, por ejemplo, $HOME/.bash_profilepuede al menos evitar producir daños en las sesiones no interactivas.

case $- in *i*) invoke your script here;; esac

Si ya tiene uno .bash_profile, es posible que ya contenga una case $-declaración que pueda modificar en lugar de agregar una segunda.

información relacionada