Làm cách nào tôi có thể cho phép xác thực mật khẩu SSH từ chỉ một số địa chỉ IP nhất định?


103

Tôi muốn cho phép xác thực mật khẩu SSH chỉ từ một mạng con nhất định. Tôi thấy tùy chọn không cho phép nó trên toàn cầu trong /etc/ssh/sshd_config:

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

Có cách nào để áp dụng cấu hình này cho một dải địa chỉ IP được chọn không?

Câu trả lời:


156

Sử dụng một Matchkhối ở phần cuối của /etc/ssh/sshd_config:

# Global settings
…
PasswordAuthentication no
…

# Settings that override the global settings for matching IP addresses only
Match address 192.0.2.0/24
    PasswordAuthentication yes

Sau đó báo cho dịch vụ sshd tải lại cấu hình của nó:

service ssh reload

1
Tôi đã thử điều này (với 192.168.0.0/16 thay thế) và khi tôi khởi động lại dịch vụ ssh, tôi đã bị khóa. SSH từ chối mọi kết nối. Bất cứ ý tưởng tại sao điều này có thể được?
Thác Michael

2
@MichaelWaterfall Không thể nói với quá ít thông tin. Đảm bảo duy trì hoạt động của vỏ cho đến khi bạn xác thực cấu hình mới. Khởi động lại dịch vụ ssh không ảnh hưởng đến các kết nối hoạt động.
Gilles

28
Vấn đề có thể xảy ra là bạn đặt khối Match ở đâu đó ở giữa sshd_config. Các dòng trùng khớp ảnh hưởng đến mọi dòng tiếp theo cho đến dòng Match tiếp theo, vì vậy chúng phải ở cuối tập tin.
Ken Simon

6
Bất chấp sự thụt vào trong câu trả lời, sshd_configkhông phải là Python;)
Nick T

1
@frepie MatchKhối kéo dài cho đến khi có lệnh tiếp theo Matchhoặc cho đến khi kết thúc tệp. Đó là lý do tại sao bạn phải đặt nó ở cuối.
Gilles

8

bạn có thể thêm:

AllowUsers user1@192.168.*.*, user2@192.168.*.*

điều này thay đổi hành vi mặc định, thực sự từ chối tất cả người dùng khác từ tất cả các máy chủ. Khối kết hợp có sẵn trên OpenSsh phiên bản 5.1 trở lên.


gọi Tôi cho phép một nhóm thay vì một người dùng duy nhất
Lamar

@Lamar Từ man sshd_config, có vẻ như AllowGroupshoạt động tương tự AllowUsers, nhưng AllowUsersdường như được ưu tiên hơn AllowGroups.
conradkdotcom
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.