CentOS 7: Không thể kết nối qua WinSCP khi bash được thực thi


-1

Tôi đang chạy CentOS Server 7 trên máy ảo (ESXi) với quyền root. Tôi có một tập lệnh bash (trong thư mục /etc/profile.d/) được thực thi ngay sau khi đăng nhập. Trước khi tôi tạo tệp .sh của mình trong thư mục, không có vấn đề gì khi kết nối với máy ảo của tôi thông qua WinSCP. Sau khi tạo tập tin và khởi động lại hệ thống, tôi không thể kết nối được nữa. OpenSSH được cài đặt .. Có vẻ như việc thực thi bash chặn kết nối .. Nếu tôi xóa tệp .sh của mình qua bàn điều khiển sau đó kết nối được thiết lập lại. Đây có phải là một vấn đề CentOS? Không bao giờ có vấn đề này trong Ubuntu Server.

Lỗi tôi nhận được:

Không thể khởi tạo giao thức SFTP. Là máy chủ đang chạy một máy chủ SFTP?

Có ý kiến ​​gì không? Cảm ơn bạn trước!


1
Có gì trong kịch bản đó?
Eugen Rieck

Tôi có thể đăng những gì bên trong tập lệnh, nhưng đó là hàng trăm dòng .. Không bao giờ có vấn đề với nó trong Ubuntu Server .. Ngay cả khi nó có một số lỗi, điều này có nên chặn kết nối không?
P4tR

Bạn nói đúng .. Tôi đã thay thế nội dung tập lệnh bằng một cách đơn giản echođể kiểm tra .. Và lần này kết nối không bị chặn .. Vì vậy, đó là lỗi tập lệnh .. Cảm ơn sự giúp đỡ của bạn!
P4tR

Câu trả lời:


1

Bạn không cho chúng tôi xem kịch bản của bạn, vì vậy điều này rõ ràng là hơi suy đoán; nhưng hầu hết có lẽ kịch bản của bạn không nên có profile.dvì nó yêu cầu một số loại tương tác người dùng.

Hồ sơ nên được dành riêng cho những thứ cần chạy ngay cả trong các phiên không tương tác.

Vị trí thích hợp cho chức năng tương tác có lẽ không nằm trong tập lệnh đăng nhập của bạn, nhưng một cái gì đó như thế này, ví dụ như trong bạn $HOME/.bash_profileít nhất có thể tránh gây thiệt hại cho các phiên không tương tác.

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

Nếu bạn đã có .bash_profile, nó cũng có thể chứa một case $-tuyên bố mà bạn có thể sửa đổi thay vì thêm một tuyên bố thứ hai.


Tôi đã chuyển tập lệnh của mình từ /etc/profile.d sang thư mục $ HOME của tôi. Bây giờ, nó được thực thi bởi .bash_profile và WinSCP có thể kết nối mà không gặp sự cố. Cảm ơn bạn!
P4tR
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.