第十章

任務實施

一、配置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