CentOS 7: Невозможно подключиться через WinSCP при запуске bash

CentOS 7: Невозможно подключиться через WinSCP при запуске bash

Я запускаю CentOS Server 7 на виртуальной машине (ESXi) с правами root. У меня есть скрипт bash (в моем каталоге /etc/profile.d/), который выполняется сразу после входа в систему. До того, как я создал свой файл .sh в этом каталоге, не было никаких проблем с подключением к моей виртуальной машине через WinSCP. После создания файла и перезагрузки системы я больше не могу подключиться. Установлен OpenSSH. Похоже, что выполнение bash блокирует соединение. Если я удаляю свой файл .sh через консоль, соединение снова устанавливается. Это проблема CentOS? Никогда не было такой проблемы в Ubuntu Server.

Я получаю сообщение об ошибке:

Невозможно инициализировать протокол SFTP. На хосте запущен сервер SFTP?

Есть идеи? Спасибо заранее!

решение1

Вы не показываете нам свой сценарий, так что это, очевидно, несколько умозрительно; но, скорее всего, ваш сценарий не должен быть здесь, profile.dпоскольку он требует какого-то взаимодействия с пользователем.

Профиль следует зарезервировать исключительно для тех вещей, которые должны работать даже в неинтерактивных сеансах.

Вероятно, интерактивные функции не следует размещать в скриптах входа в систему, но что-то вроде этого, например, в вашем скрипте, $HOME/.bash_profileможет, по крайней мере, избежать повреждения неинтерактивных сеансов.

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

Если у вас .bash_profileуже есть , то он вполне может содержать case $-утверждение, которое вы можете изменить вместо того, чтобы добавлять второе.

Связанный контент