OpenSSH(即常說的ssh)的常用配置文件有兩個/etc/ssh/ssh_config和sshd_config。,其中ssh_config為客戶端配置文件,設置與客戶端相關的應用可通過此文件實現;sshd_config為服務器配置文件,設置與服務器相關的應用可通過此文件實現。
一般來說我們常用的都是sshd_config配置文件。
在sshd_config配置文件中,以“# ”(#加空格)開頭的是注釋信息,以“#”開頭的是默認配置信息。
下面我將列舉常用的配置信息,並做說明。
1)重點
#Port 22
設置sshd監聽端口號,默認情況下為22,可以設置多個監聽端口號,即重復使用Prot這個設置項。修改后記得重啟sshd,以及在防火牆中添加端口。出於安全考慮,端口指定為小於等於65535,並且非22或22變種的值,
2)重點
#ListenAddress 0.0.0.0 #ListenAddress ::
設置sshd監聽(綁定)的IP地址,0.0.0.0表示監聽所有IPv4的地址。出於安全考慮,設置為指定IP地址,而非所有地址。::是IPv6的地址不需要改。
3)
Protocol 2
有部分sshd_config配置文件會有此選項。這個選項設置的是ssh協議版本,可以是1也可以是2。出於安全考慮,設置為最新協議版本。
4)
HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key
Hostkey設置包含私人密鑰的文件
5)
#SyslogFacility AUTH SyslogFacility AUTHPRIV
當有人使用ssh登錄系統時,ssh會記錄信息,記錄類型為AUTHPRIV,sshd服務日志存放在/var/log/secure
6)
#LogLevel INFO
設置記錄sshd日志信息的級別
7)重點
#LoginGraceTime 2m
設置指定時間內沒有成功登錄,將會斷開連接,若無單位則默認時間為秒。
8)重點
#PermitRootLogin yes
是否允許root登錄,默認是允許的,但建議設置為no
9)重點
#PasswordAuthentication yes
是否使用密碼驗證。當然也可以設置為no,不使用密碼驗證,轉而使用密鑰登錄
10)重點
#PermitEmptyPasswords no
是否允許空密碼的用戶登錄,默認為no,不允許
11)
#PrintMotd yes
是否打印登錄提示信息,提示信息存儲在/etc/moed文件中
12)重點
#PrintLastLog yes
顯示上次登錄信息。默認為yes
13)重點
#UseDNS yes
一般來說為了要判斷客戶端來源是否正常合法,因此會使用DNS去反查客戶端的主機名。但通常在內網互連時,設置為no,使連接快寫。
