環境: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 服務
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