tôi cần phải thực hiện hành động này sử dụng một mã C#:Làm thế nào để chạy các lệnh trên máy chủ SSH trong C#?
- mở putty.exe ở chế độ nền (điều này cũng giống như một cửa sổ cmd)
- đăng nhập vào một máy chủ từ xa sử dụng địa chỉ IP của nó
- nhập tên người dùng và mật khẩu
- thực thi nhiều lệnh một lần.
- chạy một lệnh mà được một phản ứng nói với tôi rằng các lệnh tôi chạy trước đó nơi thực hiện thành công
Vì vậy, tôi đang cố gắng để làm điều đó như thế này:
ProcessStartInfo proc = new ProcessStartInfo()
{
FileName = @"C:\putty.exe",
UseShellExecute = true, //I think I need to use shell execute ?
RedirectStandardInput = false,
RedirectStandardOutput = false,
Arguments = string.Format("-ssh {0}@{1} 22 -pw {2}", userName, hostIP, password)
... //How do I send commands to be executed here ?
};
Process.Start(proc);
Bạn có muốn chạy cùng một bộ lệnh mỗi lần không?Nếu vậy, hãy thử thêm chúng vào tệp '.bashrc' của bạn. Nếu bạn muốn chạy các lệnh khác nhau, hãy cho chúng tôi biết. – AirPett
Các lệnh tôi đang chạy là thêm địa chỉ mac của người dùng vào bộ điều khiển wifi. Vì vậy, về cơ bản các lệnh giống nhau nhưng với địa chỉ mac khác nhau mỗi lần ... Và bạn có thể vui lòng cho tôi biết tệp '.bashrc' này là gì và làm cách nào để thêm chúng vào đó? –
NẾU đó là một máy chủ Linux (tôi cho rằng vì việc sử dụng ssh), trong thư mục chính của người dùng là một tệp có tên là '.bashrc' (/home/$user/.bashrc). Tập tin đó là một kịch bản lệnh shell bị xử lý mỗi lần người dùng đăng nhập. Ví dụ, tôi có một số thông tin chi tiết về hiệu năng của máy chủ luôn được đăng nhập (tức là 'df -h' và' uptime'). – AirPett