Làm thế nào để kiểm tra nhật ký sshd?


126

Tôi đã cài đặt Ubuntu 9.10 sshdvà tôi có thể kết nối thành công với nó bằng cách sử dụng thông tin đăng nhập và mật khẩu. Tôi đã cấu hình RSAđăng nhập khóa và bây giờ có "Máy chủ từ chối khóa của chúng tôi" như mong đợi. Ok, bây giờ tôi muốn kiểm tra sshdđăng nhập để tìm ra một vấn đề. Tôi đã kiểm tra /etc/ssh/sshd_configvà nó có

SyslogFacility AUTH
LogLevel INFO

Đồng ý. Tôi đang nhìn /var/log/auth.logvà ... nó trống rỗng O_O. Thay đổi Loglevelđể VERBOSEgiúp đỡ không có gì - auth.logvẫn còn trống. Bất kỳ gợi ý làm thế nào tôi có thể kiểm tra sshdđăng nhập?


7
Bạn đã kiểm tra cấu hình nhật ký hệ thống của bạn? Tôi không chạy Ubuntu, nhưng nó có thể chuyển hướng cơ sở AUTH sang một logfile khác. Có lẽ / var / log / message?
Giáo sư Moriarty

Làm thế nào để kiểm tra cấu hình nhật ký hệ thống? Thật không may, tôi không phải là rất tốt một linux :(. cat /var/log/messages | grep sshThấy không có gì :(.
grigoryvp

Bạn nói đúng. /etc/syslog.confchuyển hướng AUTH đến /var/logauth.log. Hãy viết câu trả lời của bạn để tôi có thể chấp nhận nó :)
grigoryvp

3
Trên máy chủ của tôi, sshd đăng nhập vào / var / log / safe. Điều này được định cấu hình trong /etc/rsyslog.conf, trên dòng bắt đầu "authpriv. *"
Isaac Betesh

1
authpriv ?? Làm thế quái nào chúng ta phải biết rằng có liên quan đến sshd? :-)
Spencer Williams

Câu trả lời:


7

Nếu không có ai khác đang sử dụng hệ thống tại thời điểm này, bạn có thể làm những gì tôi đã làm trong những trường hợp như vậy:

  • dừng dịch vụ sshd (ít nhất tôi đã có thể làm điều này trong khi đăng nhập qua ssh)
  • bắt đầu sshd bằng tay và thêm một số tùy chọn -d để có thêm đầu ra gỡ lỗi dài dòng. Trừ khi bạn có một cái gì đó thú vị đang diễn ra, nó nên sử dụng cùng các phím và cấu hình nó khi bắt đầu đúng cách

143
Dừng SSHD trên một máy chủ từ xa là một ý tưởng thực sự tồi tệ. Điều này có thể giải quyết vấn đề cho một số (hoặc hầu hết) thiết lập hầu hết thời gian, nhưng nếu BẤT CỨ vấn đề nào xảy ra - kết nối của bạn, mất điện ở hai đầu, sự lãng quên, v.v. - bạn bị khóa khỏi hộp. Đó là tin xấu.
Được đăng

1
Chà, cần lưu ý rằng cách duy nhất bạn có thể khởi động dịch vụ sau khi dừng thủ công là có một số loại quyền truy cập khác, như một kết nối từ xa không phải SSH khác, hoặc bạn đang ngồi trước nó.
Spencer Williams

26
Làm thế nào để trả lời câu hỏi này? Tôi đã đến đây từ một tìm kiếm trên web để tìm hiểu cách kiểm tra các tệp nhật ký SSHD, chứ không phải điều gì làm việc cho bạn vì một số vấn đề ... Chết tiệt, tôi ước các độc giả trên mạng Stack Exchange thực sự sẽ đọc và trả lời câu hỏi, chứ không phải câu hỏi họ muốn nó là ....

4
Bạn có thể bắt đầu một sshd khác trên một cổng khác. Kết nối với cái đó Sau đó dừng sshd chính và bắt đầu một cái mới trên cổng 22. Nếu có lỗi, hãy khởi động lại hộp bằng DRAC hoặc quản lý đám mây của bạn. Bạn nên có sshd bắt đầu khi khởi động phải không? Đừng lo lắng.
Bruno Bronosky

1
@JoelESalas Cộng đồng không quyết định câu trả lời nào được chấp nhận.
kasperd

155

Tạo câu trả lời dựa trên các ý kiến ​​trên, ghi có vào @Prof. Moriarty và @Eye of Hell

Lỗi auth SSH được ghi lại ở đây /var/log/auth.log

Sau đây sẽ chỉ cung cấp cho bạn các dòng nhật ký liên quan đến ssh

grep 'sshd' /var/log/auth.log

Để đảm bảo an toàn, hãy lấy vài trăm dòng cuối cùng và sau đó tìm kiếm (vì nếu tệp nhật ký quá lớn, grep trên toàn bộ tệp sẽ tiêu tốn nhiều tài nguyên hệ thống hơn, chưa kể sẽ mất nhiều thời gian hơn để chạy)

tail -500 /var/log/auth.log | grep 'sshd'


8
Câu trả lời này. Câu trả lời khác với mũi tên màu xanh lá cây là không có thật. Thay đổi mũi tên.
sân lưới

5
Tại sao không sử dụng tail -f ...để theo dõi nó trong thời gian thực? Đây sẽ là một vấn đề với các tệp nhật ký lớn hơn?
ingh.am

6
less +F ...sẽ 'đuôi' trong thời gian thực, và nó mạnh hơn nhiều so với đuôi
phía bắc

5
lnavthậm chí còn tốt hơn ít hơn / đuôi
Wayne Werner

7
Ps: nếu máy chủ của bạn là Red Hat (dưới dạng CentOS), đường dẫn của nhật ký bản ghi sshd / đăng nhập là / var / log / safe (thư mục check / var / log cho các tệp nhật ký của các ngày cụ thể). Xem câu trả lời này: serverfault.com/questions/465833/
Kẻ

15

Nếu bạn có thể thử lại kết nối thất bại một cách dễ dàng, một cách dễ dàng là khởi động máy chủ SSH trên một cổng miễn phí, chẳng hạn như 2222:

/usr/sbin/sshd -d -p 2222

và sau đó thử lại kết nối với:

ssh -p 2222 user@host

Bằng cách sử dụng cổng khác nhau -p 2222, chúng tôi không phải dừng máy chủ SSH chính, điều này có thể khóa chúng tôi.

Xem thêm: https://unix.stackexchange.com/a/55481/32558


1
Một trong những lựa chọn tốt nhất, đặc biệt nếu bạn chỉ có quyền truy cập SSH vào máy chủ. Gỡ lỗi kết nối bằng cách dừng máy chủ ssh sẽ đưa bạn ra khỏi phiên. Chỉ cần bắt đầu một daemon ssh mới trên một cổng khác và kiểm tra đăng nhập bằng cổng đó.
Attila Antal

1

Nếu bạn muốn xem tất cả các thông điệp tường trình về sshd, hãy chạy nó:

grep -rsh sshd /var/log |sort

2
Nhật ký sẽ bắt đầu với các mục như Mar 14 19:52:04loại trừ năm và không được sắp xếp dễ dàng (mặc dù bạn có thể gặp may mắn khi cho sort --month-sortrằng bạn không vượt qua ranh giới giữa các năm). Các tệp nhật ký đã được sắp xếp, vì vậy bạn chỉ cần quét chúng theo đúng thứ tự. Ngoài ra, grep -rcuộc gọi đệ quy sẽ thực sự chậm trên các hệ thống có nhật ký lớn. Không có lý do để quét thêm những thứ như nhật ký HTTPD của bạn.
Adam Katz

1

Bạn có thể tail -f /var/log/auth.log


1
Chào mừng bạn đến với ServerFault. Bạn đã đọc câu hỏi? Anh ta không nhận được dữ liệu trong tập tin đó. tailNếu nó không có dữ liệu trong đó.
gà con

@chicks Thật buồn cười. Trả lời với hầu hết các phiếu bầu gần giống như thế này ..
Trả lờ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.