環境:Centos 7
SecureCRT 版本:8.0.4
需求:配置使用Public key 登錄服務器禁用密碼登錄
1. 配置使用SecureCRT,生成Public key 跟私鑰
2. 配置服務器SSH 配置文件
a.創建.ssh 密鑰存放目錄
b.把公鑰上到文件夾,並改名成"authorized_keys"
c.給ssh 文件夾跟authorized_keys 添加權限

d.配置sshd_config 文件
RSAAuthentication yes StrictModes no PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no
e: 重啟SSHD 服務
systemctl restart sshd
3.SSH 增強安全性
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 太 # 不安全了,所以這里一定要設定為 no ! IgnoreRhosts yes # 是否取消使用 ~/.ssh/.rhosts 來做為認證!當然是! RhostsRSAAuthentication no # 這個選項是專門給 version 1 用的,使用 rhosts 檔案在 # /etc/hosts.equiv配合 RSA 演算方式來進行認證!不要使用 HostbasedAuthentication no # 這個項目與上面的項目類似,不過是給 version 2 使用的! IgnoreUserKnownHosts no # 是否忽略家目錄內的 ~/.ssh/known_hosts 這個檔案所記錄 # 的主機內容?當然不要忽略,所以這里就是 no 啦! PasswordAuthentication yes # 密碼驗證當然是需要的!所以這里寫 yes ?! PermitEmptyPasswords no # 若上面那一項如果設定為 yes 的話,這一項就最好設定 # 為 no ,這個項目在是否允許以空的密碼登入!當然不許! ChallengeResponseAuthentication yes # 挑戰任何的密碼認證!所以,任何 login.conf # 規定的認證方式,均可適用! #PAMAuthenticationViaKbdInt yes # 是否啟用其它的 PAM 模塊!啟用這個模塊將會 # 導致 PasswordAuthentication 設定失效! 與 Kerberos 有關的參數設定!因為我們沒有 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 # 使用者的權限設定項目!就設定為 yes 吧! MaxStartups 10 # 同時允許幾個尚未登入的聯機畫面?當我們連上 SSH , # 但是尚未輸入密碼時,這個時候就是我們所謂的聯機畫面啦! # 在這個聯機畫面中,為了保護主機,所以需要設定最大值, # 預設最多十個聯機畫面,而已經建立聯機的不計算在這十個當中 關於使用者抵擋的設定項目: DenyUsers * # 設定受抵擋的使用者名稱,如果是全部的使用者,那就是全部 # 擋吧!若是部分使用者,可以將該賬號填入!例如下列! DenyUsers test DenyGroups test # 與 DenyUsers 相同!僅抵擋幾個群組而已! 關於 SFTP 服務的設定項目! Subsystem sftp /usr/lib/ssh/sftp-server