Làm cách nào tôi có thể theo dõi ai SSH vào máy linux của mình?


23

Tôi đang chạy Ubuntu 10.04. Có cách nào tôi có thể nhận được báo cáo hàng ngày về người đã đăng nhập vào hộp không, thời gian nào và thậm chí - điều này có thể yêu cầu quá nhiều - một báo cáo về các lệnh họ đã sử dụng? Đây là một hộp sử dụng thấp và vì vậy tôi nghĩ rằng đây sẽ là một cách hay để xem hoạt động nào đang diễn ra trên đó.

Dọc theo những dòng này, tôi nghe nói không thể theo dõi khi mọi thứ được thực hiện trên hộp thông qua các vỏ không tương tác, chẳng hạn như rsync hoặc chỉ thực hiện từ xa các lệnh đơn thông qua ssh. Điều đó có đúng không, hay có cách nào để đăng nhập và theo dõi điều này không?

Câu trả lời:


21

Thông tin của những người đã đăng nhập khi có sẵn trong /var/log/auth.log(hoặc các tệp nhật ký khác trên các bản phân phối khác). Có nhiều chương trình giám sát nhật ký có thể trích xuất thông tin bạn định cấu hình có liên quan. Trên bất kỳ hệ thống lành mạnh nào, mọi xác thực người dùng đều được ghi lại.

Để ghi nhật ký mọi lệnh gọi (nhưng không phải là đối số của chúng), hãy sử dụng kế toán quy trình , được cung cấp bởi acctgói Cài đặt acct trên Ubuntu. Nếu hệ thống con kế toán hoạt động, sau đó lastcommhiển thị thông tin về các quy trình đã hoàn thành.


3
/var/log/secure.log là một logfile phổ biến khác
Adrian Cornish

9

Bạn cũng có thể sử dụng whohoặc wđể xem ai hiện đang đăng nhập vào hệ thống, bao gồm cả người dùng SSH.


10
lastcó thể là một lựa chọn tốt hơn cho những gì OP đang tìm kiếm ...
jasonwryan

1
thật. "Cuối cùng" là lệnh bạn muốn.
Sirex

1
Đây là một câu trả lời tốt hơn NHIỀU sau đó được chọn.
PaulBGD

0

Thông thường khi một số người đăng nhập vào hệ thống người dùng thì trong / var / log / message, nó sẽ được in dưới dạng:

sshd[18468]: Accepted keyboard-interactive/pam for root from 134.64.66.666 port 49867 ssh2

Vì vậy, chỉ cần grep các tin nhắn như:

grep -E "Accepted keyboard-interactive/pam for" /var/log/messages

0

Bạn cũng có thể sửa đổi bash shell để thực hiện một số rsylog.

Thực tế, bạn thiết lập rsyslog trên một máy chủ từ xa để chấp nhận các kết nối cụ thể. Sau đó sửa đổi vỏ máy chủ mà bạn muốn theo dõi - bằng cách biên dịch phiên bản của bạn, với phiên bản được kích hoạt sau:

vi config-top.h
#define SYSLOG_HISTORY
#if defined (SYSLOG_HISTORY)
#  define SYSLOG_FACILITY LOG_USER
#  define SYSLOG_LEVEL LOG_INFO
#endif

Sau khi được biên dịch với tính năng này, bạn có thể thay thế bash bằng phiên bản này HOẶC người dùng đã đăng nhập vào cái này bằng cách chuyển hướng đăng nhập của họ đến nó.

Để biết thêm thông tin:

https://www.pacificsimplicity.ca/blog/remote-logging-USE-syslog-and-logging-shell-commands-rem Remote


Khỏe. Tôi sẽ cập nhật nó.
mcdoomington
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.