OpenSSH: Cách kết thúc khối kết hợp


49

Tôi đang sử dụng một Matchkhối trong OpenSSH /etc/ssh/sshd_config(trên debian) để hạn chế một số người dùng đối với SFTP:

# my stuff
Match group sftponly
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp -u 0002
    ChrootDirectory %h

Như bạn có thể thấy, tôi sử dụng một #my stuffnhận xét trong các tệp cấu hình tùy chỉnh để dễ dàng phân biệt các cấu hình mặc định với các cấu hình tôi đã tạo (và tôi đặt chúng ở cuối các tệp cấu hình).
Bây giờ tôi muốn nối thêm chỉ thị UseDNS novào cấu hình (để tăng tốc đăng nhập) nhưng OpenSSH cho biết Directive 'UseDNS' is not allowed within a Match block.

Bây giờ tôi đã tự hỏi liệu có một cú pháp muốn End Matchkết thúc các khối phù hợp?

Câu trả lời:


30

Để kết thúc khối kết hợp với openssh 6.5p1 trở lên, hãy sử dụng dòng: Match all

Đây là một đoạn mã, lấy từ /etc/ssh/sshd_configtập tin của tôi :

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

Match host 192.168.1.12
    PasswordAuthentication yes
Match all

X11Forwarding yes
X11DisplayOffset 10

Một dòng với duy nhất Matchsẽ không hoạt động. (Nó không hoạt động với tôi, sshd từ chối bắt đầu)


2
Thật tuyệt, tôi vừa thử nó và nó dường như hoạt động như mong đợi (tôi thậm chí có thể sử dụng UseDNSchỉ thị (trước đây không hoạt động). Chấp nhận đây là câu trả lời mới. - Các phiên bản OpenSSH mới hơn dường như thậm chí sẽ không bắt đầu với một sản phẩm nào Match: lists.mindrot.org/pipermail/openssh-unix-dev/2014-April/ Kẻ
mreithub 17/8/2016

42

Có vẻ như không có cách nào để kết thúc rõ ràng các khối Match. Từ trang hướng dẫn sshd_config :

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.

Vì vậy, Matchcác khối cần phải ở cuối sshd_configtập tin.


7
Một lựa chọn khác là có một dòng không có gì ngoài Matchnó, nó phù hợp với mọi thứ một cách hiệu quả và do đó giống như 'kết thúc' khối. Tuy nhiên, điều này vẫn không cho phép bạn sử dụng các lệnh không được phép trong các khối Kết hợp, vì vậy nó sẽ không giúp ích cho kịch bản cụ thể của bạn.
Nathan Bouscal

4
"Các khối trùng khớp cần ở cuối tệp sshd_config." Rất hữu ích cho tôi và không được giải thích rõ ràng (cho tôi) trong trang người đàn ông, vv Cảm ơn.
MountainX

0

Tôi nghĩ rằng chúng ta nên đề cập đến MatchHostchìa khóa cùng một lúc.

Host

Hạn chế các khai báo sau (tối đa tiếp theo Hosthoặc Matchtừ khóa) chỉ dành cho những máy chủ phù hợp với một trong các mẫu được đưa ra sau từ khóa.

Match

Hạn chế các khai báo sau (tối đa tiếp theo Hosthoặc Matchtừ khóa) chỉ được sử dụng khi các điều kiện theo từ khóa Kết hợp được thỏa mãn.

Đọc hướng dẫn của man ssh_configcả hai Host *Match allsẽ thiết lập lại khối hạn chế cũ, bất kể đó là Matchkhối hay Hostkhố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.