SSH服務配置文件詳解
SSH客戶端配置文件
/etc/ssh/ssh——config
配置文件概要
-
Host * #選項“Host”只對能夠匹配后面字串的計算機有效。“*”表示所有的計算機。
-
ForwardAgent no #設置連接是否經過驗證代理(如果存在)轉發給遠程計算機。
-
ForwardX11 no #設置X11連接是否被自動重定向到安全的通道和顯示集(DISPLAY set)
-
RhostsAuthentication n #設置是否使用基於rhosts的安全驗證。
-
RhostsRSAAuthentication no #設置是否使用用RSA算法的基於rhosts的安全驗證。
-
RSAAuthentication yes #設置是否使用RSA算法進行安全驗證。
-
PasswordAuthentication yes #設置是否使用口令驗證。
-
FallBackToRsh no #設置如果用ssh連接出現錯誤是否自動使用rsh。
-
UseRsh no #設置是否在這台計算機上使用“rlogin/rsh”。
-
BatchMode no #如果設為“yes”,passphrase/password(交互式輸入口令)的提示將被禁止。當不能交互式輸入口令的時候,這個選項對腳本文件和批處理任務十分有用。
-
CheckHostIP yes #設置ssh是否查看連接到服務器的主機的IP地址以防止DNS欺騙。建議設置為“yes”。
-
StrictHostKeyChecking no #如果設置成“yes”,ssh就不會自動把計算機的密匙加入“$HOME/.ssh/known_hosts”文件,並且一旦計算機的密匙發生了變化,就拒絕連接。
-
IdentityFile ~/.ssh/identity #設置從哪個文件讀取用戶的RSA安全驗證標識。
-
Port 22 #設置連接到遠程主機的端口。
-
Cipher blowfish #設置加密用的密碼。
- EscapeChar ~ #設置escape字符。
SSH服務端配置文件
/etc/ssh/sshd_config
配置文件概要
-
Port 22
# SSH 預設使用 22 這個 port,您也可以使用多的 port ! -
Protocol 2,1 # 選擇的 SSH 協議版本,可以是 1 也可以是 2 ,如果要同時支持兩者,就必須要使用 2,1 這個分隔了!
-
ListenAddress 0.0.0.0
# 監聽的主機適配卡!舉個例子來說,如果您有兩個 IP,分別是 192.168.0.100 及 192.168.2.20 ,那么只想要開放 192.168.0.100 時,就可以寫如同下面的樣式:
ListenAddress 192.168.0.100
只監聽來自 192.168.0.100 這個 IP 的SSH聯機。如果不使用設定的話,則預設所有接口均接受 SSH
-
PidFile /var/run/sshd.pid # 可以放置 SSHD 這個 PID 的檔案!左列為默認值
-
LoginGraceTime 600 # 當使用者連上 SSH server 之后,會出現輸入密碼的畫面,
在該畫面中,在多久時間內沒有成功連上 SSH server ,就斷線!時間為秒!
-
Compression yes # 是否可以使用壓縮指令?
-
HostKey /etc/ssh/ssh_host_key # SSH version 1 使用的私鑰
-
HostKey /etc/ssh/ssh_host_rsa_key # SSH version 2 使用的 RSA 私鑰
-
HostKey /etc/ssh/ssh_host_dsa_key # SSH version 2 使用的 DSA 私鑰
-
KeyRegenerationInterval 3600
# 由前面聯機的說明可以知道, version 1 會使用 server 的 Public Key ,每隔一段時間來重新建立一次!時間為秒!
-
ServerKeyBits 768 # Server key 的長度!
-
SyslogFacility AUTH # 當有人使用 SSH 登入系統的時候,SSH會記錄信息
-
LogLevel INFO # 登錄記錄的等級---》全部
-
PermitRootLogin no
# 是否允許 root 登入!預設是允許的,但是建議設定成 no! -
UserLogin no # 在 SSH 底下本來就不接受 login 這個程序的登入!
-
StrictModes yes # 當使用者的 host key 改變之后,Server 就不接受聯機
-
RSAAuthentication yes # 是否使用純的 RSA 認證!?僅針對 version 1 !
-
PubkeyAuthentication yes # 是否允許 Public Key ?只有 version 2
-
AuthorizedKeysFile .ssh/authorized_keys #設定若要使用不需要密碼登入的賬號時,那么那個賬號的存放檔案所在檔名!
-
RhostsAuthentication no # 本機系統不使用 .rhosts , .rhosts 不安全!
-
IgnoreRhosts yes # 是否取消使用 ~/.ssh/.rhosts 來做為認證!
-
RhostsRSAAuthentication no # 針對 version 1 ,使用 rhosts 檔案在/etc/hosts.equiv配合 RSA 演算方式來進行認證!
-
HostbasedAuthentication no # 這個項目與上面的項目類似,不過是給 version 2 使用的!
-
IgnoreUserKnownHosts no # 是否忽略家目錄內的 ~/.ssh/known_hosts 這個檔案所記錄
的主機內容
-
PasswordAuthentication yes # 密碼驗證當然是需要的!
-
PermitEmptyPasswords no # 上面那一項如果設定為 yes 的話,這一項就最好設定
為 no ,這個項目在是否允許以空的密碼登入!
-
ChallengeResponseAuthentication yes # 挑戰任何的密碼認證!所以,任何 login.conf
規定的認證方式,均可適用!
-
PAMAuthenticationViaKbdInt yes # 是否啟用其它的 PAM 模塊!啟用這個模塊將會
導致 PasswordAuthentication 設定失效!
-
與Kerberos 有關的參數設定!底下不用設定
KerberosAuthentication no
KerberosOrLocalPasswd yes
KerberosTicketCleanup yes
KerberosTgtPassing no
-
有關在 X-Window 底下使用的相關設定
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
-
PrintMotd no # 登入后是否顯示出一些信息呢?例如上次登入的時間、地點等,預設是 yes ,但是,如果為了安全,可以考慮改為 no !
-
PrintLastLog yes # 顯示上次登入的信息!可以啊!預設也是 yes !
-
KeepAlive yes # 一般而言,如果設定這項目的話,那么 SSH Server 會傳送
-
KeepAlive 的訊息給 Client 端,以確保兩者的聯機正常!在這個情況下,任何一端死掉后, SSH 可以立刻知道!而不會有僵屍程序的發生!
-
UsePrivilegeSeparation yes # 使用者的權限設定項目!
-
MaxStartups 10 # 同時允許幾個尚未登入的聯機畫面?
-
DenyUsers * # 設定受抵擋的使用者名稱