Làm cách nào để tôi vô hiệu hóa đăng nhập SSH từ xa bằng root từ máy chủ?


54

Vì mục đích bảo mật, công ty của tôi muốn tôi không cho phép bất kỳ ai có thể đăng nhập vào máy chủ Ubuntu của chúng tôi với quyền root từ xa qua SSH. Chúng tôi vẫn muốn tài khoản root tồn tại, chúng tôi chỉ không muốn nó có thể được đăng nhập từ xa. Làm thế nào tôi có thể thực hiện điều này?

Cảm ơn bạn rất nhiều trước thời gian của bạn.

Câu trả lời:


85

Tôi giả sử bạn có nghĩa là đăng nhập qua SSH? Đặt dòng sau đây để /etc/ssh/sshd_config:

PermitRootLogin no

Nếu bạn muốn từ chối một số người dùng đăng nhập, hãy đặt tệp này vào tệp cấu hình:

DenyUsers root

Điều này có cách tiếp cận danh sách đen. Nói chung là tốt hơn. Nếu công ty của bạn cần cho phép robadminngười dùng đăng nhập trên máy chủ, hãy sử dụng chỉ thị cấu hình sau:

AllowUsers rob admin

Sau khi thực hiện thay đổi tệp cấu hình, khởi động lại dịch vụ ssh bằng lệnh:

sudo service ssh restart

Xem thêm trang hướng dẫn .


14
sudo service ssh restartcó hiệu lực
Maxim Yefremov

Tôi không thấy tập tin sshd_config, tôi thấy tập tin này / etc / ssh / ssh_config.
Chinmaya B

@ChinmayaB Có thể bạn chưa cài đặt máy chủ OpenSSH. Hãy thửsudo apt-get install openssh-server
Lekensteyn

14

Chỉnh sửa tập tin /etc/ssh/sshd_config, tìm kiếm

PermitRootLogin

và đặt nó thành no.


Nếu bạn làm điều này mà không thêm bất kỳ người dùng nào AllowUsers <username>thì điều này sẽ không có hiệu lực cho phép không ai SSH vào?
JGlass

1
@JGlass Bạn có thể kết hợp câu trả lời này với câu trả lời ở trên có các tùy chọn bổ sung - dòng cụ thể này chỉ ngăn chặn việc đăng nhập thông qua SSH. Nếu có những người dùng khác trên hệ thống, tất cả những thứ khác đều bằng nhau, họ vẫn có thể đăng nhập qua SSH trừ khi bạn DenyUserscũng đăng nhập.
armadadrive

@armadadrive - ahh, cảm ơn bạn đã sửa chữa và giải thích!
JGlass

5

Cấu hình mặc định dành cho tài khoản root bị khóa để bạn không thể đăng nhập với quyền root từ xa. Bạn không phải làm bất cứ điều gì khác, trừ khi bạn cũng muốn đảm bảo rằng bạn không thể đăng nhập bằng root từ xa bằng cách sử dụng khóa RSA. Tất nhiên, nếu bạn không muốn làm điều đó, thì đừng thiết lập khóa gốc.


1
Đó không phải là mặc định cho máy Linode Ubuntu 14.04 của tôi. PermitRootLoginđã được đặt thành yesvà không có AllowUsershoặc DenyUsersdòng cấu hình. Trừ khi tôi thiếu thứ gì đó, tôi không nghĩ sẽ an toàn khi cho rằng nó bị khóa theo mặc định
andrewtweber

@andrewtweber, đăng nhập root không bị cấm thông qua ssh config, nhưng toàn hệ thống bằng cách đặt mật khẩu gốc thành một giá trị không hợp lệ mà bạn không thể nhập. Vì vậy, như tôi đã nói, bạn vẫn có thể ssh in root bằng khóa RSA, không phải bằng mật khẩu.
psusi

ok cảm ơn, bạn có thể thêm lời giải thích đó vào câu trả lời của mình không và sau đó tôi sẽ có thể xóa downvote của mình
andrewtweber

@andrewtweber, đã có trong câu trả lời của tôi ..
psusi

giải thích của bạn về cách tài khoản root bị khóa không nằm trong câu trả lời của bạn. Dù sao, tôi không thể xóa downvote trừ khi câu trả lời của bạn được chỉnh sửa, vì vậy hãy tiếp tục và cứng đầu về nó nếu bạn muốn
andrewtweber
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.