![CentOS 7: Não é possível conectar via WinSCP quando o bash é executado](https://rvso.com/image/1558689/CentOS%207%3A%20N%C3%A3o%20%C3%A9%20poss%C3%ADvel%20conectar%20via%20WinSCP%20quando%20o%20bash%20%C3%A9%20executado.png)
Estou executando o CentOS Server 7 em uma VM (ESXi) com permissões de root. Eu tenho um script bash (no meu diretório /etc/profile.d/) que é executado imediatamente após o login. Antes de criar meu arquivo .sh no diretório, não houve problemas ao conectar-se à minha VM via WinSCP. Depois de criar o arquivo e reiniciar o sistema, não consigo mais me conectar. OpenSSH está instalado.. Parece que a execução do bash bloqueia a conexão.. Se eu excluir meu arquivo .sh via console, a conexão será estabelecida novamente. Este é um problema do CentOS? Nunca tive esse problema no Ubuntu Server.
Erro que estou recebendo:
Não é possível inicializar o protocolo SFTP. O host está executando um servidor SFTP?
Alguma ideia? Agradeço antecipadamente!
Responder1
Você não está nos mostrando seu roteiro, então isso é obviamente um tanto especulativo; mas provavelmente seu script não deveria estar presente profile.d
porque requer algum tipo de interação do usuário.
O perfil deve ser reservado exclusivamente para coisas que precisam ser executadas mesmo em sessões não interativas.
O local apropriado para a funcionalidade interativa provavelmente não está nos seus scripts de login, mas algo como isto, por exemplo, $HOME/.bash_profile
pode pelo menos evitar a produção de danos em sessões não interativas.
case $- in *i*) invoke your script here;; esac
Se você .bash_profile
já possui uma, ela já pode conter uma case $-
declaração que você pode alterar em vez de adicionar uma segunda.