Làm cách nào tôi có thể khóa tài khoản của mình từ đăng nhập ssh từ xa bằng mật khẩu?


10

Tôi không muốn vô hiệu hóa đăng nhập từ xa bằng mật khẩu hoàn toàn, nhưng tôi muốn làm cho nó để tài khoản của tôi chỉ có thể truy cập được bằng xác thực cặp khóa (có những người dùng khác muốn sử dụng mật khẩu để đăng nhập). Có thể thay đổi điều này trên cơ sở mỗi người dùng, lý tưởng mà không thay đổi cài đặt hệ thống?

Và để làm rõ, tài khoản của tôi có quyền truy cập sudo, vì vậy tôi không muốn khóa mật khẩu.

Câu trả lời:


9

Bạn có thể sử dụng tùy chọn Khớp trong sshd_config

Match Giới thiệu một khối có điều kiện. Nếu tất cả các tiêu chí trên dòng Kết hợp được thỏa mãn, các từ khóa trên các dòng sau sẽ ghi đè lên các tiêu chí được đặt trong phần chung của tệp cấu hình, cho đến khi một dòng Kết hợp khác hoặc cuối tệp. [1]

Vì vậy, ở cuối tập tin đó, bạn có thể chỉ định:

Match User yourusername
PasswordAuthentication no

Xem man 5 sshd_configcho tất cả các tùy chọn có sẵn.

[1] http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&sektion=5


Điều này đã tốt rồi, nhưng tôi muốn xem liệu tôi có thể làm mà không cần chỉnh sửa sshd_config không.
phunehehe

2
Vì bạn muốn thay đổi hệ thống, tức là, một điều không ảnh hưởng đến người dùng khác, điều đó dường như không thể xảy ra ...
jasonwryan

và những gì về ~ / .ssh / config? Bạn đã thử bao gồm các cài đặt ở đó?
ttyS0

1
AFAK ~ / .ssh / config trong máy khách, không phải máy chủ.
Adam Byrtek

1

Câu trả lời từ jasonwryan sẽ là cách đúng đắn để thực hiện thay đổi này. Sự bổ sung duy nhất tôi sẽ thực hiện là bạn có thể đặt kết quả khớp thành nhóm để mọi người dùng trong nhóm bánh xe sẽ được yêu cầu sử dụng xác thực khóa trong khi những người khác có thể sử dụng mật khẩu.

Tôi biết bạn muốn làm điều này mà không thay đổi các tập tin cấu hình hệ thống, nhưng có một lý do chính đáng tại sao điều đó sẽ không thể thực hiện được. Trong đầu bạn có nghĩa là người dùng của bạn sẽ có thể đưa ra một chính sách đăng nhập an toàn hơn, nhưng chỉ vì trong suy nghĩ của bạn, đó là một tùy chọn an toàn hơn không thay đổi thực tế rằng nó vẫn là một thay đổi đối với các yêu cầu đăng nhập hệ thống cho một người dùng từ xa.

Để hiểu tại sao đây là một vấn đề, hãy tưởng tượng kịch bản theo cách khác. Quản trị viên hệ thống (người có thể thay đổi tệp cấu hình hệ thống) chỉ đặt hệ thống thành thông tin đăng nhập dựa trên khóa. Sau đó, một số người dùng xuất hiện và chỉ có quyền truy cập vào tệp người dùng của riêng họ và đặt tài khoản của họ để cho phép xác thực mật khẩu, ghi đè chính sách hệ thống. BEEEEEEP . Vấn đề bảo mật!

Điều đó có giải thích tại sao loại thay đổi bạn muốn thực hiện chỉ có thể có từ tệp cấu hình hệ thống không?


Thật khó để nghĩ như vậy, vì nếu tôi là một người dùng bình thường không sudo, tôi có thể vui vẻ thiết lập các khóa của mình sau đó khóa mật khẩu, do đó làm cho tài khoản của tôi "chỉ xác thực khóa".
phunehehe

Trong một suy nghĩ khác, tôi có thể khóa mật khẩu của mình mỗi lần tôi đăng xuất, điều này sẽ không cho phép tất cả đăng nhập mật khẩu cho tài khoản của tôi. Sau đó, khi tôi đã đăng nhập bằng các khóa của mình, tôi có thể kích hoạt lại mật khẩu để sudo. Rõ ràng đó không phải là một giải pháp tốt, nhưng nó khiến tôi nghĩ rằng nó có thể.
phunehehe

1
Bạn chỉ có thể làm điều đó vì quản trị viên hệ thống cho phép xác thực khóa và bạn chỉ thêm các hạn chế cho chính mình, không thay đổi bất cứ điều gì. Vô hiệu hóa mật khẩu của bạn chỉ đặt nó thành một giá trị không hợp lệ, nó không thay đổi xác thực mà trình nền hệ thống cho phép.
Caleb

"Thêm các hạn chế cho bản thân, không thay đổi bất cứ điều gì", chính xác là những gì tôi muốn làm.
phunehehe

@Caleb: Sẽ không có vấn đề bảo mật nào trong việc cho phép authorized_keysđưa ra nhiều hạn chế hơn , như phunehehe muốn. Ví dụ authorized_keyscó thể hạn chế các khóa nhất định cho các lệnh nhất định.
Gilles 'SO- ngừng trở nên xấu xa'

0

Thêm hạn chế cho bản thân, không thay đổi bất cứ điều gì

Tại sao không ở phía máy khách, nếu chắc chắn rằng ssh sẽ là máy khách được sử dụng cho các lần thử đăng nhập? Nếu có, hãy thử thay đổi ssh_config thay vì sshd_config. Kiểm tra tham số 'Mật khẩu xác thực số' và Ưu tiên xác thực

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.