Theo dõi phiên SSH đến trong thời gian thực


21

Có phần mềm linux nào để theo dõi phiên ssh sắp tới không. Ở một công việc trước đây tôi đã nói rằng nếu bạn cần hỗ trợ từ Red Hat, ví dụ bạn có thể cho họ SSH vào máy của bạn và bạn có thể xem họ đang làm gì.

Tôi đang ở trong một tình huống tương tự khi tôi muốn ssh vào máy của bạn bè để giúp anh ấy nhưng tôi muốn anh ấy có thể xem những gì tôi đang làm cho mục đích giáo dục và để đảm bảo tôi không làm gì độc hại.

Bất kỳ đề xuất?

Cảm ơn


đã có quảng cáo ObserveIT trên trang này và chúng là giải pháp đủ tốt để thử nếu SaaSish muốn thứ gì đó.
kagali-san

Câu trả lời:


15

GNU Screen có khả năng này, bạn có thể cho phép một người dùng shell cụ thể chỉ hoạt động thông qua màn hình.

https://www.linux.com/learn/tutorials/442418-USE-screen-for-remote-interaction


1
Vấn đề duy nhất với màn hình là họ sẽ cần bắt đầu phiên màn hình sau khi đăng nhập để xem phiên. Ngoài ra, là một công nghệ cung cấp hỗ trợ từ xa và đã thực hiện việc này, bạn không thể theo dõi tất cả các cửa sổ màn hình cùng một lúc để họ vẫn có thể chạy các lệnh trong một màn hình khác và ẩn nó.
Công dân Kepler

3

Tôi nghĩ màn hình là thứ bạn đang theo đuổi, nhưng nếu bạn không muốn ngồi đó xem và muốn "quay video" phiên của người dùng, bạn có thể xem sudo shell.

Nếu bạn thiết lập người dùng với cái này là vỏ của họ, bạn có thể ghi lại toàn bộ mọi thứ đã xảy ra và bạn có thể "phát lại" nó và xem nó khi / nếu bạn cần.

Nhược điểm duy nhất có thể xảy ra là các nhật ký có thể phát triển rất lớn, ví dụ nếu chúng chạy một lệnh như thế find /, bạn cũng sẽ có tất cả những gì được ghi lại - vì vậy bạn có thể phải chọn tài khoản nào để kích hoạt thay vì thực hiện trên toàn cầu.

Đối với việc cho phép các nhà cung cấp truy cập đăng nhập, điều này có thể là hoàn hảo, bởi vì bạn có một bản kiểm toán đầy đủ về tất cả mọi thứ họ đã làm, mọi thứ (thậm chí cả khoảng cách) được ghi lại và lưu trữ để phát lại.

log_outputlà tùy chọn ghi âm của bạn cho sudoers, và sudoreplay(8)là trình phát của bạn.

Theo sudoerstrang nam:

logDefput: Nếu được đặt, sudo sẽ chạy lệnh trong giả giả và ghi nhật ký tất cả đầu ra được gửi đến màn hình, tương tự như lệnh script (1). Nếu đầu ra tiêu chuẩn hoặc lỗi tiêu chuẩn không được kết nối với tty của người dùng, do chuyển hướng I / O hoặc do lệnh là một phần của đường ống, đầu ra đó cũng được ghi lại và lưu trữ trong các tệp nhật ký riêng biệt.

Trong tệp sudoers, bạn sẽ đặt một cái gì đó như thế này:

User_Alias SHELL_ACCOUNTS = root,jack
Defaults: SHELL_ACCOUNTS log_output

Hoặc để đăng nhập theo nhóm

Defaults:%shellusers log_output

Xem http://www.gratisoft.us/sudo/sudoers.man.html để biết chi tiết.


Bạn có thể cung cấp thêm một chút thông tin? Chính xác ý bạn là gì bởi "sudo shell"? Làm thế nào tôi có thể thiết lập một vỏ của người dùng đến đó? Nhật ký sẽ được lưu ở đâu?
GJ.

Tôi đã cập nhật câu trả lời của mình với một số chi tiết để làm rõ.
Xerxes


2

Bạn có thể sử dụng lệnh script. Xây dựng một dòng bằng .login hoặc .profile của người dùng có phiên ssh mà bạn muốn theo dõi. Khi anh ta đăng nhập vào một kịch bản / nhật ký được tạo ra I / O của mình, nó cung cấp cho bạn các lệnh chạy và đầu ra của các lệnh đó. Trong thời gian thực, bạn có thể chỉ cần theo dõi kịch bản và xem những gì người dùng làm trong thời gian thực.

Không thể dán một liên kết cho giới thiệu của bạn nhưng bạn chỉ có thể google trên lệnh "script" và bạn sẽ nhận được các giới thiệu.


1

Bạn có thể sử dụng kibitz . Trích dẫn từ trang người đàn ông:

kibitz cho phép hai (hoặc nhiều) người tương tác với một shell (hoặc bất kỳ chương trình tùy ý nào).

Trên Fedora, nó được bao gồm trong gói mong đợi .



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.