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

 

# 1. 修改默認端口node

#Port 22shell

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

#AddressFamily any 安全

AddressFamily inet服務器

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

#ListenAddress 0.0.0.0 #監聽IPV4全部網絡地址網絡

ListenAddress 192.168.171.0session

# 4. 設置密鑰生命週期,定時更新密鑰,並將密鑰設置儘量長併發

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

#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 環境變量來支持的

相關文章
相關標籤/搜索