Linux系統 SSHD服務安全優化方案


 

# 1. 修改默認端口

#Port 22

# 2. 修改監聽協議,只監聽某個或某些網絡協議

#AddressFamily any

AddressFamily inet

# 3. 修改ssh只監聽內網IP地址(IPV4和IPV6)

#ListenAddress 0.0.0.0 #監聽IPV4所有網絡地址

ListenAddress 192.168.171.0

# 4. 設置密鑰生命周期,定時更新密鑰,並將密鑰設置盡可能長

# --->(需設置Protocol 1)

#KeyRegenerationInterval 1h

# 在SSH-1協議下,短命的服務器密鑰將以此指令設置的時間為周期(秒),不斷重新生成。 

# 這個機制可以盡量減小密鑰丟失或者黑客攻擊造成的損失。 

# 設為 0 表示永不重新生成,默認為 3600(秒)。

#ServerKeyBits 1024

# 指定臨時服務器密鑰的長度。僅用於SSH-1。默認值是 768(位)。最小值是 512 。

# 5. 禁止root用戶遠程登錄

#PermitRootLogin yes # 允許root用戶登錄

PermitRootLogin no # 禁止root用戶遠程登錄

# 6. 開啟基於密碼認證的遠程登錄

#PasswordAuthentication yes

# 是否允許使用基於密碼的認證。默認為"yes"。

# 7. 禁止使用空密碼的用戶登錄

#PermitEmptyPasswords no

# 是否允許密碼為空的用戶遠程登錄。默認為"no"。

# 8. 關閉質疑-應答模式

# Change to no to disable s/key passwords

#ChallengeResponseAuthentication yes

ChallengeResponseAuthentication no

# 是否允許質疑-應答(challenge-response)認證。默認值是"yes"。 

# 所有 login.conf(5) 中允許的認證方式都被支持。 

# 9. 開啟Kerberos認證

# Kerberos options

#KerberosAuthentication no

# 是否要求用戶為 PasswordAuthentication  提供的密碼必須通過 Kerberos KDC 認證,也就是是否使用Kerberos認證。 

# 要使用Kerberos認證,服務器需要一個可以校驗  KDC identity 的 Kerberos servtab 。默認值是"no"。

#KerberosOrLocalPasswd yes

# 如果 Kerberos 密碼認證失敗,

#     那么該密碼還將要通過其它的認證機制(比如 /etc/passwd)。 

# 默認值為"yes"。 

#KerberosTicketCleanup yes

# 是否在用戶退出登錄后自動銷毀用戶的 ticket 。默認值是"yes"。

#KerberosGetAFSToken no

# 如果使用了 AFS 並且該用戶有一個 Kerberos 5 TGT,那么開啟該指令后, 

# 將會在訪問用戶的家目錄前嘗試獲取一個 AFS token 。默認為"no"。

#KerberosUseKuserok yes

# 10. 開啟GSSAPI用戶認證

# GSSAPI options

#GSSAPIAuthentication no

# 是否允許使用基於 GSSAPI 的用戶認證。默認值為"no"。僅用於SSH-2。

GSSAPIAuthentication yes

#GSSAPICleanupCredentials yes

#  是否在用戶退出登錄后自動銷毀用戶憑證緩存。默認值是"yes"。僅用於SSH-2。

GSSAPICleanupCredentials yes

#GSSAPIStrictAcceptorCheck yes

# 是否對客戶端進行嚴格的身份認證.若為”yes”,則客戶端會在服務端被驗證主機名

#GSSAPIKeyExchange no

# 11. 禁止 X11 轉發

#X11Forwarding no

# 是否允許進行 X11 轉發。默認值是"no",設為"yes"表示允許。 

# 如果允許X11轉發並且sshd(8)代理的顯示區被配置為

#      在含有通配符的地址(X11UseLocalhost)上監聽。 

# 那么將可能有額外的信息被泄漏。由於使用X11轉發的可能帶來的風險,

#      此指令默認值為"no"。 

# 需要注意的是,禁止X11轉發並不能禁止用戶轉發X11通信,

#      因為用戶可以安裝他們自己的轉發器。 

# 如果啟用了 UseLogin ,那么X11轉發將被自動禁止。

X11Forwarding yes

#X11DisplayOffset 10

# 指定 sshd(8) X11 轉發的第一個可用的顯示區(display)數字。默認值是 10 。 

# 這個可以用於防止 sshd 占用了真實的 X11 服務器顯示區,從而發生混淆。

#X11UseLocalhost yes

#  sshd(8) 是否應當將X11轉發服務器綁定到本地loopback地址。默認值是"yes"。 

# sshd 默認將轉發服務器綁定到本地loopback地址

#       並將 DISPLAY 環境變量的主機名部分設為"localhost"。 

# 這可以防止遠程主機連接到 proxy display 。

#       不過某些老舊的X11客戶端不能在此配置下正常工作。 

# 為了兼容這些老舊的X11客戶端,你可以設為"no"。

# 12. 打印警告信息和上次登錄信息

#PrintMotd yes

# 指定 sshd(8) 是否在每一次交互式登錄時打印 /etc/motd 文件的內容。

#      默認值是"yes"。

#PrintLastLog yes

# 指定 sshd(8) 是否在每一次交互式登錄時打印最后一位用戶的登錄時間。

#      默認值是"yes"。

# 13. 禁止使用Login命令

#UseLogin no

# 是否在交互式會話的登錄過程中使用 login(1) 。默認值是"no"。 

# 如果開啟此指令,那么 X11Forwarding 將會被禁止,

#     因為 login(1) 不知道如何處理 xauth(1) cookies 。 

# 需要注意的是,login(1) 是禁止用於遠程執行命令的。 

# 如果指定了 UsePrivilegeSeparation ,那么它將在認證完成后被禁用。

# 14. 開啟ssh創建非特權子進程處理接入請求

#UsePrivilegeSeparation yes

# 是否讓 sshd(8) 通過創建非特權子進程處理接入請求的方法來進行權限分離。

#     默認值是"yes"。 

# 認證成功后,將以該認證用戶的身份創建另一個子進程。 

# 這樣做的目的是為了防止通過有缺陷的子進程提升權限,從而使系統更加安全。

# 15. 禁止導入變量

#PermitUserEnvironment no

# 指定是否允許 sshd(8) 處理 ~/.ssh/environment

#     以及 ~/.ssh/authorized_keys 中的 environment= 選項。 

# 默認值是"no"。

# 如果設為"yes"可能會導致用戶有機會使用某些機制

#     (比如 LD_PRELOAD)繞過訪問控制,造成安全漏洞。

# 16. 禁止連接ssh端口時,返回補丁版本信息

#ShowPatchLevel no

# ShowPatchLevel用於在連接ssh端口時,是否返回SSH的補丁版本信息

百度的...

1. 系統最小化安裝

2. 更改SSH遠程端口號

3. 更改SSH只監聽內網IP

4. 禁止root賬號ssh登錄,將常用的賬戶加入sudo組中

5. 禁止使用密碼登錄

6. 禁止無密碼登錄

7. 顯示上次登錄信息

8. 使用DNS反查客戶端主機名(關閉ssh服務DNS反向解析)

9. 加強密碼復雜度

10. fail2ban監視系統日志,匹配日志的錯誤信息(正則式匹配)執行相應的屏蔽動作(一般情況下是防火牆),發送e-mail通知系統管理員

11. 使用shell腳本來防止暴力破解ssh

12. 使用xinetd服務

13. 使用telnet服務

14. 調整文件描述符數量,進程及文件的打開都會小號文件描述符數量

15. 打開系統最大連接數上限

16. 定期更新系統時間(使其和互聯網(內網)時間同步)

17. 配置yum更新源,從國內(企業內網)更新源下載安裝軟件包

18. 關閉SELinux和iptables(在工作場景中,如果有外部IP一般要打開iptables,高並發高流量的服務可能無法開啟)

19. 定時自動清理郵件臨時目錄垃圾文件,防止磁盤的inode數被小文件占滿(Centos6和Centos5要清除的目錄不同)

20. 精簡並保留必要的開機自啟動服務(如crond sshd network rsyslog sysstat)

21. Linux內核參數優化/etc/sysctl.conf 執行sysctl -p生效

22. 更愛系統字符集為zh_CN.UTF-8,使其支持中文,防止出現亂碼

23. 命令權限最小化;

24. 鎖定關鍵系統文件,如:/etc/passwd  /etc/shadow /etc/group  /etc/gshadow  /etc/inittab 處理以上內容后把chattr lsattr改名(即轉移走)

25. 清空/etc/issue /etc/issue.net  取出系統及內核版本登錄顯示

26. 清除多余的系統虛擬用戶帳號

27. 為grub引導菜單加密

28. 禁止主機被ping

29. 打補丁並升級有已知漏洞的軟件

sshd_config

# 1. 修改默認端口

#Port 22

Port 123       #sshd服務端口

# 2. 修改監聽協議,只監聽某個或某些網絡協議

#AddressFamily any #監聽協議(any--->所有網絡協議)

AddressFamily inet

# 指定 sshd(8) 應當使用哪種地址族。

# 取值范圍是:"any"(默認)、"inet"(僅IPv4)、"inet6"(僅IPv6)。

# 3. 修改ssh只監聽內網IP地址(IPV4和IPV6)

#ListenAddress 0.0.0.0 #監聽IPV4所有網絡地址

ListenAddress 192.168.171.0

#ListenAddress ::     #監聽IPV6所有網絡地址

ListenAddress fe80::20c:29ff:fea1:2066/64 #這個還不會

# Disable legacy (protocol version 1) support in the server for new

# installations. In future the default will change to require explicit

# activation of protocol 1

Protocol 2     #使用ssh第2版本安全協議

# HostKey for protocol version 1

#HostKey /etc/ssh/ssh_host_key

# HostKeys for protocol version 2

#HostKey /etc/ssh/ssh_host_rsa_key

#HostKey /etc/ssh/ssh_host_dsa_key

# 主機私鑰文件的位置。如果權限不對,sshd(8) 可能會拒絕啟動。 

# SSH-1默認是 /etc/ssh/ssh_host_key 。 

# SSH-2默認是 /etc/ssh/ssh_host_rsa_key

#            和 /etc/ssh/ssh_host_dsa_key 。 

# 一台主機可以擁有多個不同的私鑰。

# "rsa1"僅用於SSH-1,"dsa"和"rsa"僅用於SSH-2。

# 4. 設置密鑰生命周期,定時更新密鑰,並將密鑰設置盡可能長

# --->(需設置Protocol 1)

# Lifetime and size of ephemeral version 1 server key

#KeyRegenerationInterval 1h

# 在SSH-1協議下,短命的服務器密鑰將以此指令設置的時間為周期(秒),不斷重新生成。 

# 這個機制可以盡量減小密鑰丟失或者黑客攻擊造成的損失。

# 設為 0 表示永不重新生成,默認為 3600(秒)。

#ServerKeyBits 1024

# 指定臨時服務器密鑰的長度。僅用於SSH-1。默認值是 768(位)。最小值是 512 。

# Logging

# obsoletes QuietMode and FascistLogging

#SyslogFacility AUTH

SyslogFacility AUTHPRIV  #日志格式

# 指定 sshd(8) 將日志消息通過哪個日志子系統(facility)發送。有效值是: 

# DAEMON, USER, AUTH(默認), LOCAL0, LOCAL1, LOCAL2, LOCAL3,

# LOCAL4, LOCAL5, LOCAL6, LOCAL7 

#LogLevel INFO    #日志信息級別

# 指定 sshd(8) 的日志等級(詳細程度)。可用值如下:

# QUIET, FATAL, ERROR, INFO(默認), VERBOSE,

# DEBUG, DEBUG1, DEBUG2, DEBUG3 

# DEBUG 與 DEBUG1 等價;

# DEBUG2 和 DEBUG3 則分別指定了更詳細、更羅嗦的日志輸出。 

# 比 DEBUG 更詳細的日志可能會泄漏用戶的敏感信息,因此反對使用。 

# Authentication: #中文意思:身份驗證

#LoginGraceTime 2m  #當用戶遠程連接輸入密碼等信息是,斷開連接前等待最長時間

# 5. 禁止root用戶遠程登錄

#PermitRootLogin yes # 允許root用戶登錄

PermitRootLogin no # 禁止root用戶遠程登錄

#StrictModes yes  

# 指定是否要求 sshd(8)

#     在接受連接請求前對用戶主目錄和相關的配置文件進行宿主和權限檢查

# 強烈建議使用默認值"yes"來預防可能出現的低級錯誤。

#MaxAuthTries 6   # 指定每個連接最大允許的認證次數。默認值是 6 。 

# 如果失敗認證的次數超過這個數值的一半,連接將被強制斷開,且會生成額外的失敗日志消息。

#MaxSessions 10 # 指定每個網絡連接允許打開會話的最大數目。默認值為10

#RSAAuthentication yes

# 是否允許使用純 RSA 公鑰認證。僅用於SSH-1。默認值是"yes"。

#PubkeyAuthentication yes

# 是否允許公鑰認證。僅可以用於SSH-2。默認值為"yes"。

#AuthorizedKeysFile .ssh/authorized_keys

# 存放該用戶可以用來登錄的 RSA/DSA 公鑰。 

# 該指令中可以使用下列根據連接時的實際情況進行展開的符號:

# %% 表示'%'、%h 表示用戶的主目錄、%u 表示該用戶的用戶名。 

# 經過擴展之后的值必須要么是絕對路徑,要么是相對於用戶主目錄的相對路徑。

# 默認值是".ssh/authorized_keys"。

#AuthorizedKeysCommand none #公鑰命令

#AuthorizedKeysCommandRunAs nobody #上一條設置命令的運行用戶

# For this to work you will also need host keys in

#      /etc/ssh/ssh_known_hosts

#RhostsRSAAuthentication no

# 是否使用強可信主機認證(通過檢查遠程主機名和關聯的用戶名進行認證)。

#       僅用於SSH-1。 

# 這是通過在RSA認證成功后再檢查 ~/.rhosts

#       或 /etc/hosts.equiv 進行認證的。 

# 出於安全考慮,建議使用默認值"no"。

# similar for protocol version 2

#HostbasedAuthentication no

# 同上,用於SSH-2

# Change to yes if you don't trust ~/.ssh/known_hosts for

# RhostsRSAAuthentication and HostbasedAuthentication

#IgnoreUserKnownHosts no

# 是否在 RhostsRSAAuthentication

#     或 HostbasedAuthentication 過程中忽略用戶的

#     ~/.ssh/known_hosts 文件。 

# 默認值是"no"。為了提高安全性,可以設為"yes"。

# Don't read the user's ~/.rhosts and ~/.shosts files

#IgnoreRhosts yes

# 是否在 RhostsRSAAuthentication 或 HostbasedAuthentication

#     過程中忽略 .rhosts 和 .shosts 文件。 

# 不過 /etc/hosts.equiv 和 /etc/shosts.equiv 仍將被使用。

# 推薦設為默認值"yes"。

# To disable tunneled clear text passwords, change to no here!

# 6. 開啟基於密碼認證的遠程登錄

#PasswordAuthentication yes

# 是否允許使用基於密碼的認證。默認為"yes"。

# 7. 禁止使用空密碼的用戶登錄

#PermitEmptyPasswords no

# 是否允許密碼為空的用戶遠程登錄。默認為"no"。

# 8. 關閉質疑-應答模式

# Change to no to disable s/key passwords

#ChallengeResponseAuthentication yes

ChallengeResponseAuthentication no

# 是否允許質疑-應答(challenge-response)認證。默認值是"yes"。 

# 所有 login.conf(5) 中允許的認證方式都被支持。

# 9. 開啟Kerberos認證

# Kerberos options

#KerberosAuthentication no

# 是否要求用戶為 PasswordAuthentication

#       提供的密碼必須通過 Kerberos KDC 認證,

#       也就是是否使用Kerberos認證。 

# 要使用Kerberos認證,服務器需要一個可以校驗

#       KDC identity 的 Kerberos servtab 。默認值是"no"。

#KerberosOrLocalPasswd yes

# 如果 Kerberos 密碼認證失敗,

#     那么該密碼還將要通過其它的認證機制(比如 /etc/passwd)。 

# 默認值為"yes"。 

#KerberosTicketCleanup yes

# 是否在用戶退出登錄后自動銷毀用戶的 ticket 。默認值是"yes"。

#KerberosGetAFSToken no

# 如果使用了 AFS 並且該用戶有一個 Kerberos 5 TGT,那么開啟該指令后, 

# 將會在訪問用戶的家目錄前嘗試獲取一個 AFS token 。默認為"no"。

#KerberosUseKuserok yes

# 10. 開啟GSSAPI用戶認證

# GSSAPI options

#GSSAPIAuthentication no

# 是否允許使用基於 GSSAPI 的用戶認證。默認值為"no"。僅用於SSH-2。

GSSAPIAuthentication yes

#GSSAPICleanupCredentials yes

#  是否在用戶退出登錄后自動銷毀用戶憑證緩存。默認值是"yes"。僅用於SSH-2。

GSSAPICleanupCredentials yes

#GSSAPIStrictAcceptorCheck yes

# 是否對客戶端進行嚴格的身份認證.若為”yes”,則客戶端會在服務端被驗證主機名

#GSSAPIKeyExchange no

# Set this to 'yes' to enable PAM authentication, account processing,

# and session processing. If this is enabled, PAM authentication will

# be allowed through the ChallengeResponseAuthentication and

# PasswordAuthentication.  Depending on your PAM configuration,

# PAM authentication via ChallengeResponseAuthentication may bypass

# the setting of "PermitRootLogin without-password".

# If you just want the PAM account and session checks to run without

# PAM authentication, then enable this but set PasswordAuthentication

# and ChallengeResponseAuthentication to 'no'.

#UsePAM no

# 啟用PAM(Pluggable Authentication Module:插入式驗證模塊)接口。

# 如果該指令的值設置為”yes”,那么表示啟用PAM並運用

#      ChallengeResponseAuthentication and PasswordAuthentication

#    到PAM模塊和會話過程

# 由於PAM的身份驗證,通常相當於密碼驗證,所以你應該禁用

#      PasswordAuthentication 或者 ChallengeResponseAuthentication

# 如果啟用了PAM,那么必須使用root才能運行sshd,默認值為no

UsePAM yes

# Accept locale-related environment variables

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

AcceptEnv XMODIFIERS

# 只支持SSHv2協議

# 指定客戶端發送的哪些環境變量將會被傳遞到會話環境中。

# 具體的細節可以參考 ssh_config(5) 中的 SendEnv 配置指令。

# 該關健字的值是空格分隔的變量名列表(其中可以使用’*'和’?'作為通配符)

#     也可以使用多個AcceptEnv達到同樣的目的。

# 需要注意的是,有些環境變量可能會被用於繞過禁止用戶使用的環境變量。

#     由於這個原因,該指令應當小心使用默認值:是不傳遞任何環境變量.

#AllowAgentForwarding yes

# 是否允許ssh-agent轉發,默認值:’yes’

# 禁止ssh-agent轉發並不能增強安全性,

#     除非禁止了用戶對shell的訪問,因為用戶可以安裝他們自己的轉發器。

#AllowTcpForwarding yes

# 是否允許TPC轉發

# 禁止TCP轉發並不能增強安全性,

#     除非禁止了用戶對shell的訪問,因為用戶可以安裝他們自己的轉發器。

#GatewayPorts no

# 是否允許遠程主機連接本地的轉發端口。默認值是"no"。 

# sshd(8) 默認將遠程端口轉發綁定到loopback地址。

#      這樣將阻止其它遠程主機連接到轉發端口。 

# GatewayPorts 指令可以讓 sshd 將遠程端口轉發綁定到非loopback地址,

#      這樣就可以允許遠程主機連接了。 

# "no"表示僅允許本地連接,

# "yes"表示強制將遠程端口轉發綁定到統配地址(wildcard address), 

# "clientspecified"表示允許客戶端選擇將遠程端口轉發綁定到哪個地址。

# 11. 禁止 X11 轉發

#X11Forwarding no

# 是否允許進行 X11 轉發。默認值是"no",設為"yes"表示允許。 

# 如果允許X11轉發並且sshd(8)代理的顯示區被配置為

#      在含有通配符的地址(X11UseLocalhost)上監聽。 

# 那么將可能有額外的信息被泄漏。由於使用X11轉發的可能帶來的風險,

#      此指令默認值為"no"。 

# 需要注意的是,禁止X11轉發並不能禁止用戶轉發X11通信,

#      因為用戶可以安裝他們自己的轉發器。

# 如果啟用了 UseLogin ,那么X11轉發將被自動禁止。

X11Forwarding yes

#X11DisplayOffset 10

# 指定 sshd(8) X11 轉發的第一個可用的顯示區(display)數字。默認值是 10 。 

# 這個可以用於防止 sshd 占用了真實的 X11 服務器顯示區,從而發生混淆。

#X11UseLocalhost yes

#  sshd(8) 是否應當將X11轉發服務器綁定到本地loopback地址。默認值是"yes"。 

# sshd 默認將轉發服務器綁定到本地loopback地址

#       並將 DISPLAY 環境變量的主機名部分設為"localhost"。 

# 這可以防止遠程主機連接到 proxy display 。

#       不過某些老舊的X11客戶端不能在此配置下正常工作。 

# 為了兼容這些老舊的X11客戶端,你可以設為"no"。

# 12. 打印警告信息和上次登錄信息

#PrintMotd yes

# 指定 sshd(8) 是否在每一次交互式登錄時打印 /etc/motd 文件的內容。

#      默認值是"yes"。

#PrintLastLog yes

# 指定 sshd(8) 是否在每一次交互式登錄時打印最后一位用戶的登錄時間。

#      默認值是"yes"。

#TCPKeepAlive yes

# 指定系統是否向客戶端發送 TCP keepalive 消息。默認值是"yes"。 

# 這種消息可以檢測到死連接、連接不當關閉、客戶端崩潰等異常。

# 可以設為"no"關閉這個特性。

# 13. 禁止使用Login命令

#UseLogin no

# 是否在交互式會話的登錄過程中使用 login(1) 。默認值是"no"。 

# 如果開啟此指令,那么 X11Forwarding 將會被禁止,

#     因為 login(1) 不知道如何處理 xauth(1) cookies 。 

# 需要注意的是,login(1) 是禁止用於遠程執行命令的。 

# 如果指定了 UsePrivilegeSeparation ,那么它將在認證完成后被禁用。

# 14. 開啟ssh創建非特權子進程處理接入請求

#UsePrivilegeSeparation yes

# 是否讓 sshd(8) 通過創建非特權子進程處理接入請求的方法來進行權限分離。

#     默認值是"yes"。 

# 認證成功后,將以該認證用戶的身份創建另一個子進程。

# 這樣做的目的是為了防止通過有缺陷的子進程提升權限,從而使系統更加安全。

# 15. 禁止導入變量

#PermitUserEnvironment no

# 指定是否允許 sshd(8) 處理 ~/.ssh/environment

#     以及 ~/.ssh/authorized_keys 中的 environment= 選項。 

# 默認值是"no"。

# 如果設為"yes"可能會導致用戶有機會使用某些機制

#     (比如 LD_PRELOAD)繞過訪問控制,造成安全漏洞。

#Compression delayed

# 是否對通信數據進行加密,還是延遲到認證成功之后再對通信數據加密。 

# 可用值:"yes", "delayed"(默認), "no"。

#ClientAliveInterval 0

# 設置一個以秒記的時長,如果超過這么長時間沒有收到客戶端的任何數據, 

# sshd(8) 將通過安全通道向客戶端發送一個"alive"消息,並等候應答。 

# 默認值 0 表示不發送"alive"消息。這個選項僅對SSH-2有效。

#ClientAliveCountMax 3

# sshd(8) 在未收到任何客戶端回應前最多允許發送多少個"alive"消息。

#          默認值是 3 。 

# 到達這個上限后,sshd(8) 將強制斷開連接、關閉會話。 

# 需要注意的是,"alive"消息與 TCPKeepAlive 有很大差異。 

# "alive"消息是通過加密連接發送的,因此不會被欺騙;

#          而 TCPKeepAlive 卻是可以被欺騙的。 

# 如果 ClientAliveInterval 被設為 15

#     並且將 ClientAliveCountMax 保持為默認值, 

# 那么無應答的客戶端大約會在45秒后被強制斷開。

# 這個指令僅可以用於SSH-2協議。

# 16. 禁止連接ssh端口時,返回補丁版本信息

#ShowPatchLevel no

# ShowPatchLevel用於在連接ssh端口時,是否返回SSH的補丁版本信息

#UseDNS yes

# 開啟DNS反向解析

UseDNS no #因為這樣效率更高

#PidFile /var/run/sshd.pid # 指定sshd進程號保存的文檔路徑

#MaxStartups 10:30:100 #---> 先10,在30,在100

# 最大允許保持多少個未認證的連接。默認值是 10 。 

# 到達限制后,將不再接受新連接,除非先前的連接認證成功

#     或超出 LoginGraceTime 的限制。

MaxStartups 10

#PermitTunnel no

# 是否允許 tun(4) 設備轉發。可用值如下: 

# "yes", "point-to-point"(layer 3), "ethernet"(layer 2), "no"(默認)。 

# "yes"同時蘊含着"point-to-point"和"ethernet"。

#ChrootDirectory none

# 更改根目錄 chroot命令

# no default banner path

#Banner none

# 將這個指令指定的文件中的內容在用戶進行認證前顯示給遠程用戶。

# 默認什么內容也不顯示。”none”表示禁用這個特性

# override default of no subsystems

Subsystem sftp /usr/libexec/openssh/sftp-server

# 只支持SSHv2協議

# 配置一個外部子系統(例如,一個文件傳輸守護進程)。

# 值是一個子系統的名字和對應的命令行(含選項和參數)。

#     比如 ”sft /bin/sftp-server”

# Example of overriding settings on a per-user basis

#Match User anoncvs

# X11Forwarding no

# AllowTcpForwarding no

# ForceCommand cvs server

# 使用Match匹配某個用戶,對其進行預設置

# 引入一個條件塊。

# 塊的結尾標志是另一個 Match 指令或者文件結尾。

# 如果 Match 行上指定的條件都滿足,那么隨后的指令將覆蓋全局配置中的指令。

# Match 的值是一個或多個”條件-模式”對。

# 可用的”條件”是: User, Group, Host, Address 。

# 只有下列指令可以在 Match 塊中使用:

#   AllowTcpForwarding

#   Banner

#   ForceCommand

#   GatewayPorts

#   GSSApiAuthentication

#   KbdInteractiveAuthentication

#   KerberosAuthentication

#   PasswordAuthentication

#   PermitOpen

#   PermitRootLogin

#   RhostsRSAAuthentication

#   RSAAuthentication

#   X11DisplayOffset

#   X11Forwarding

#   X11UseLocalHost

# ForceCommand

# 強制執行這里指定的命令而忽略客戶端提供的任何命令。

# 這個命令將使用用戶的登錄shell執行(shell -c)。

# 這可以應用於 shell 、命令、子系統的完成,通常用於 Match 塊中。

# 這個命令最初是在客戶端通過 SSH_ORIGINAL_COMMAND 環境變量來支持的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM