SSH - xác định người dùng nào vẫn đăng nhập bằng mật khẩu


32

Tôi có một máy chủ Ubuntu Linux cho phép xác thực mật khẩu cho SSH và tôi muốn chuyển nó thành khóa SSH và vô hiệu hóa đăng nhập mật khẩu.

Trước khi tôi tắt đăng nhập mật khẩu, làm cách nào tôi có thể tìm ra người dùng nào vẫn đang sử dụng mật khẩu và đã chuyển sang xác thực khóa?


Btw., Trong khi nhiều người không biết điều đó, bạn cũng có thể yêu cầu mật khẩu khóa và máy chủ . Khó chịu hơn một chút, nhưng tất nhiên cũng an toàn hơn, nếu bạn làm điều đó ...
deviantfan

34
Vô hiệu hóa đăng nhập mật khẩu mà không cần thông báo và xem có bao nhiêu người hét lên.
Đánh dấu


@deviantfan Sẽ an toàn hơn nếu chỉ yêu cầu một keyfile dài hơn , nhưng điều đó sẽ đòi hỏi một chút kịch bản.
jpaugh

1
@deviantfan Tôi lấy quan điểm của bạn. Nhưng, bạn đang giả sử mật khẩu cho khóa riêng khác với mật khẩu cho máy chủ; (trong khi đó, tôi cho rằng tệp khóa riêng mật khẩu, tôi biết.)
jpaugh

Câu trả lời:


48

Bạn không thể làm điều đó một cách đáng tin cậy 100%, nhưng có hai dấu hiệu mạnh mẽ:

  • Đầu tiên, sự hiện diện của một .ssh/authorized_keystập tin là một gợi ý người dùng ít nhất được chuẩn bị để sử dụng đăng nhập dựa trên khóa
  • Thứ hai, trong tệp nhật ký xác thực ( /var/log/securetrên CentOS, /var/log/auth.logtrên Debian / Ubuntu), phương thức xác thực sẽ được ghi lại:

    Sep 28 13:44:28 hostname sshd[12084]: Accepted publickey for sven
    

    đấu với

    Sep 28 13:47:36 hostname sshd[12698]: Accepted password for sven
    

    Quét nhật ký cho các mục với mật khẩu được đề cập để tìm hiểu ai vẫn đang sử dụng mật khẩu. Điều này sẽ không hoạt động với người dùng hiếm khi đăng nhập tất nhiên trừ khi bạn có lưu giữ nhật ký rất lâu.


bằng cách 'Quét' tệp nhật ký, tôi cho rằng bạn có nghĩa là các tùy chọn hợp lý, chẳng hạn như sử dụng grep? grep 'password' /var/log/ssh/sshd.log
djsmiley2k - CoW

8
@ djsmiley2k: Vâng, chính xác. Hoặc bất cứ phương pháp nào khác mà bạn thích cho nhiệm vụ đó.
Sven

Không phải là phương pháp đầu tiên bị cản trở bởi các thực tiễn bảo mật thích hợp, chẳng hạn như 700quyền trên .sshthư mục của người dùng và squash gốc trên các thư mục nhà được gắn kết?
Ogre Psalm33

1
@ OgrePsalm33: Bạn có thể thực hiện tìm kiếm này trên máy chủ NFS ...
Sven

1
@R ..: Bạn có thể nhận được NFS an toàn hợp lý với NFSv4 và Kerberos (trong trường hợp đăng nhập dựa trên khóa trở nên phức tạp). Ngoài ra: Có, đăng nhập dựa trên khóa hoạt động mà không có bất kỳ vấn đề nào khi ~/.sshđược đặt thành 700và trong thư mục gốc NFS bị đè bẹp, do đó rõ ràng phải chuyển id người dùng ít nhất là để xác thực dựa trên khóa để đọc authorized_keys.
Sven

19

Cách nhanh nhất là vô hiệu hóa nó và xem ai gõ cửa văn phòng của bạn; p


6
Đây không phải là cách nhanh nhất, bởi vì không phải mọi người dùng đều có thể đăng nhập mỗi ngày, trong khi nhật ký có thể hiển thị rõ ràng khi ai đó đăng nhập, vì vậy họ đưa ra một kết quả ngay lập tức
Ferrybig

3
Đây là cách chậm nhất. Mọi người chỉ đăng nhập vào máy chủ nếu ứng dụng của họ bị hỏng. Nó có thể mất nhiều năm để điều đó xảy ra.
Navin

@pete bạn là hàng đầu :)
c4f4t0r
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.