Tôi cần phải mô phỏng như sau với một tập lệnh được gọi bởi một dịch vụ web chạy từ máy chủ Linux:
- Truy cập máy chủ AIX từ xa thông qua SSH
- Đăng nhập vào một phiên bản Cache của Intersystems (nếu không quen, giả vờ chúng tôi đang tải một môi trường Python hoặc Ruby [irb] tương tác)
- Thực hiện các lệnh
- Thực thi nhiều lệnh hơn tùy thuộc vào đầu ra của các lệnh trước đó
- Đăng nhập tất cả đầu vào và đầu ra từ môi trường này
Điều này khá đơn giản để làm trong C # với thư viện SSH.NET. Mở một dòng vỏ đến máy chủ từ xa, đính kèm StreamReader và StreamWriter, sau đó gửi đầu vào tới kết nối SSH thông qua StreamWriter và đọc đầu ra từ nó thông qua StreamReader.
Làm thế nào tôi nên làm điều này trên một máy chủ Linux với ssh? Tôi đang thử nghiệm với màn hình, nhưng dường như nó được thiết kế nhiều hơn cho việc sử dụng tương tác với con người hơn là các kịch bản, và tôi tự hỏi liệu tôi có đang sủa sai cây không.
Tôi không có quyền kiểm soát những gì được cài đặt trên máy chủ AIX. Tôi có thể có được những thứ được cài đặt ở đó nhưng không có gì đảm bảo.
Chỉnh sửa nhiều về sau: các giải pháp khả thi bao gồm pExect / pxssh (Python), paramiko (cũng là Python)