Tương tác với shell shell từ xa từ tập lệnh nền thông qua SSH


0

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)


2
Bạn đã kiểm tra kỳ vọng hay khai thác (python)?
chaput

1
Trong khi câu hỏi này hoàn toàn về chủ đề và hoan nghênh ở lại đây, có rất nhiều người dùng Unix trên trang web chị em Unix & Linux của chúng tôi . Nếu sau một thời gian bạn không nhận được câu trả lời hữu ích, hãy xem xét gắn cờ câu hỏi này để người điều hành chú ý và yêu cầu họ di chuyển nó qua.
terdon

Câu trả lời:


0

Vâng, màn hình không phải là cách. Tôi không biết cachenhưng bạn có thể viết một kịch bản cho nó hay bạn cần vỏ tương tác? Nếu bạn có thể viết một tập lệnh và lưu nó trên máy AIX, bạn sẽ có thể làm

ssh user@aix.server.com /path/to/cache_script

Một cách tiếp cận khác là sử dụng expectcũng có sẵn trên AIX nhưng tôi không thể cung cấp cho bạn thêm chi tiết mà không cần biết các lệnh bạn cần chạy. Trong mọi trường hợp, expectcho phép bạn gửi lệnh và trả lời đầu ra, tương tác với một vỏ tương tác theo cách không tương tác.


pectect và pxssh trông giống như họ sẽ là phép màu cho điều này và kiểm tra tốt. Không cần phải chạy bất cứ thứ gì (thậm chí mong đợi) trên máy chủ từ xa. Cảm ơn cho cả hai người trả lời.
wilee
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.