第十章
任務實施
一、配置Open SSH服務器
Open SSH服務器是在Linux環境下使用最廣泛的免費SSH服務器。OpenSSH使用公鑰加密技術,它提供雙向身份驗證:服務器和客戶端,即客戶端驗證自己是否連接到正確的服務器,服務器驗證客戶端是否是經過授權的。在身份驗證通過後,OpenSSH允許在SSH會話連接上使用多種服務,包括交互式Shell會話、遠程命令執行、文件複製、FTP服務等。Open SSH的主要配置文件是/etc/ssh/sshd_config。
(1)編輯SSH服務器配置文件/etc/ssh/sshd_config。
[root@vm ~]vi /etc/ssh/sshd_config
$OpenBSD: sshd_config,v 1.75 2007/03/19 01:01:29 djm Exp $
This is the sshd server system-wide configuration file. See
sshd_config(5) for more information.
This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
The strategy used for options in the default sshd_config shipped with
OpenSSH is to specify options with their default value where
possible, but leave them commented. Uncommented options change a
default value.
以上是關於OpenSSH配置文件的說明信息。建議保留各參數默認設置
設置SSH服務使用的端口號,默認為22
Port 22
設置IP地址的版本,any表示同時支持IPv4和IPv6
AddressFamily any
設置SSH服務進程sshd的監聽地址。0.0.0.0代表所有地址,::表示IPv6所有地址
ListenAddress 0.0.0.0
ListenAddress ::
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
設置使用的SSH協議版本號
Protocol 2
設置密鑰生成的算法列表,客戶端按照優先級順序依次使用這些算法
HostKeyAlgorithms ssh-rsa, ssh-dss
以下設置存放SSH服務器主機密鑰私鑰的文件
在生成密鑰對時SSH1隻支持RSA算法,SSH2同時支持RSA和DSA算法
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
Lifetime and size of ephemeral version 1 server key
設置SSH服務器在多長時間後重新生成主機密鑰,默認時間單位是秒,如3600
KeyRegenerationInterval 1h
設置服務器密鑰長度
ServerKeyBits 768
Logging
obsoletes QuietMode and FascistLogging
設置日誌記錄的Facility代碼類型
SyslogFacility AUTH
SyslogFacility AUTHPRIV
設置日誌記錄的級別,可從QUIET、FATAL、ERROR、INFO和VERBOSE中選取
LogLevel INFO
切斷連接之前服務器要等待用戶登錄的時間,缺省時間單位是秒,0表示不限製
LoginGraceTime 2m
設置是否允許root使用SSH遠程登錄
PermitRootLogin yes
設置SSH服務器在接收登錄之前是否檢查用戶主目錄和文件的權限。如果不可以被所
有者之外的人寫入,那麼除所有者之外的人登錄時將失敗。從安全考慮應設置為yes
StrictModes yes
設置最大認證次數,超過後不再嚐試建立SSH連接
MaxAuthTries 6
決定SSH是否將主機密鑰添加到用戶的known_hosts文件。設置為no則自動添加
主機密鑰;ask則在連接新係統時詢問是否添加;yes為要求手工添加。設置成yes或ask
時,在主機密鑰發生改變後會拒絕連接,適用於安全性高的係統
StrictHostKeyChecking ask
設置是否允許用RSA進行安全驗證
RSAAuthentication yes
設置是否支持公鑰認證
PubkeyAuthentication yes
設置在SSH服務器端保存客戶端公鑰的文件
AuthorizedKeysFile .ssh/authorized_keys
For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
設置是否允許用rhosts或/etcv/hosts.equiv文件加上RSA執行安全驗證
RhostsRSAAuthentication no
similar for protocol version 2
設置是否嚐試進行rhosts和/etc/hosts.equiv身份驗證。對於安全性要求較高的係統,
此參數項應設置為no
HostbasedAuthentication no
Change to yes if you don’t trust ~/.ssh/known_hosts for
RhostsRSAAuthentication and HostbasedAuthentication
設置SSH服務器在進行RhostsRSAAuthentication驗證時,是否忽略客戶端的
~/.ssh/known_hosts文件
IgnoreUserKnownHosts no
設置是否忽略用戶的~/.rhosts和 ~/.shosts文件,不會影響到/etc/hosts.equiv和
etc/ssh/shosts.equiv身份驗證文件時使用。要想提高係統的安全性,應設為yes