Tôi đang kết nối với máy chủ Linux từ ứng dụng .net của mình bằng SSH.NET. Mỗi lệnh mà tôi thực hiện hoàn thành như mong đợi với ngoại lệ của pbrun su - myaccount..NET SSH pbrun su
Trong khi gỡ lỗi, khi lệnh pbrun su - myaccount được thực thi, mũi tên trong trình gỡ lỗi biến mất và điều khiển không bao giờ được trả về studio trực quan, do đó yêu cầu tôi ngừng gỡ lỗi ứng dụng theo cách thủ công.
Lệnh 'lệnh su' có lẽ chờ đợi một mật khẩu. Nếu bạn đang xem xét stdout, bạn sẽ không thấy điều này, bởi vì dấu nhắc 'Password:' được gửi tới stderr. Trong [this] (http://stackoverflow.com/questions/30079526/how-to-write-to-stdin-read-from-stdout-of-an-ssh-connected-remote-process-renc#36360010) bài đăng bạn có thể se haw để viết vào shell stdin. – AxelWass
@AxelWass Tại sao nó mong đợi một mật khẩu nếu một người không được nhắc hoặc yêu cầu khi chạy lệnh pbrun su tương tự trong thiết bị đầu cuối? – HendPro12
Tôi đoán ở đây, nhưng có lẽ người dùng ssh và người dùng cục bộ không giống nhau? Có thể sử dụng 'sudo visudo' giúp như [ở đây] (http://askubuntu.com/questions/470383/how-to-avoid-prompt-password-for-sudo#470466). – AxelWass