帶你瞭解SSH的重要配置項

上次,我們對SSH的基礎有了一定的瞭解,這次我們來看如何配置SSH免密碼登錄。在配置SSH免密碼登錄之前,對SSH基礎配置瞭解下哈。

帶你瞭解SSH的重要配置項


SSH配置文件分為客戶端和服務端部分。

SSH客戶端主要配置項:

vim /etc/ssh/ssh_config

Host * #選項“Host”只對能夠匹配後面字串的計算機有效。“*”表示所有的計算機。

RSAAuthentication yes #設置是否使用RSA算法進行安全驗證。

PasswordAuthentication yes #設置是否使用口令驗證。

Port 22 #設置連接到遠程主機的端口。


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

PermitRootLogin no  # 是否允許 root 登入!預設是允許的,但是建議設定成 no!

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 ,這個項目在是否允許以空的密碼登入!

KeepAlive yes       # 一般而言,如果設定這項目的話,那麼 SSH Server 會傳送KeepAlive 的訊息給 Client 端,以確保兩者的聯機正常!在這個情況下,任何一端死掉後, SSH 可以立刻知道!而不會有殭屍程序的發生!

以上配置項都是比較常用的,一般而言,我們會禁用root登錄PermitRootLogin no與開啟公鑰驗證PubkeyAuthentication yes,同時,配合/etc/hosts.deny和/etc/hosts.allow文件,這樣就會比較安全。


分享到:


相關文章: