一、首先登陸centos,切換用戶,切換到你要免密碼登陸的用戶,進(jìn)入到家目錄,以下我以root為例,命令:
su root
cd ~
二、創(chuàng)建鑰匙,命令:ssh-keygen -t rsa,一路按Y搞定
三、按照流程走完后會在 ~/.ssh目錄下(用戶所在家目錄下的.ssh目錄)看到id_rsa, id_rsa.pub文件 第一個是私有密鑰 第二個是公共密鑰
四、修改SSH配置文件,命令:vim /etc/ssh/sshd_config
#禁用root賬戶登錄,如果是用root用戶登錄請開啟
PermitRootLogin yes
# 是否讓 sshd 去檢查用戶家目錄或相關(guān)檔案的權(quán)限數(shù)據(jù),
# 這是為了擔(dān)心使用者將某些重要檔案的權(quán)限設(shè)錯,可能會導(dǎo)致一些問題所致。
# 例如使用者的 ~.ssh/ 權(quán)限設(shè)錯時(shí),某些特殊情況下會不許用戶登入
StrictModes no
# 是否允許用戶自行使用成對的密鑰系統(tǒng)進(jìn)行登入行為,僅針對 version 2。
# 至于自制的公鑰數(shù)據(jù)就放置于用戶家目錄下的 .ssh/authorized_keys 內(nèi)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 有了證書登錄了,就禁用密碼登錄吧,安全要緊
PasswordAuthentication no
五、因?yàn)樵诘谒牟街付薃uthorizedKeysFile的放置位置為.ssh/authorized_keys,所以還需把公鑰數(shù)據(jù)id_rsa.pub附加到 authorized_keys 這個檔案內(nèi)才行,命令:
cd ~/.ssh
cat id_ras.pub >> authorized_keys
重啟SSH服務(wù),命令:systemctl restart sshd.service
六、下載私鑰,這里我使用了rz/sz工具(你也可以使用其他方式),系統(tǒng)默認(rèn)沒有安裝,先安裝,命令:yum -y install lrzsz
SecureCRT配置:選項(xiàng)→會話選項(xiàng)→X/Y/Zmodem,修改上傳和下載的目錄。
現(xiàn)在開始下載,命令:
cd ~/.ssh
sz id_ras
然后到你之前配置的下載目錄去找,把私鑰導(dǎo)入到SecurtCRT,方法:
選項(xiàng)→會話選項(xiàng)→SSH2,在鑒權(quán)一欄中點(diǎn)擊公鑰(注意因?yàn)榍懊嬉呀?jīng)禁用了密碼登陸,我們還得把密碼這一欄的勾去掉,否則會無法登陸),點(diǎn)屬性,點(diǎn)擊使用會話公鑰設(shè)置,然后在下方的使用身份或證書文件中,選擇你剛才下載來的私鑰文件,點(diǎn)確定即可。
七、以上所有配置完成,看網(wǎng)上別的教程還說要注意各文件權(quán)限問題,我做實(shí)驗(yàn)的過程沒有遇到,也可能我使用的是root用戶的原因,如果你們在過程中有權(quán)限報(bào)錯,建議權(quán)限設(shè)置:
~/.ssh/ 700
.ssh/authorized_keys 644
.ssh/id_rsa 600 且屬于你當(dāng)前要添加的用戶
八、讓服務(wù)器更安全,開啟密碼和證書雙重驗(yàn)證,先修改SSH配置文件:
vim /etc/ssh/sshd_config
PasswordAuthentication 改為yes
然后再加一條:uthenticationMethods publickey,password
重啟SSH服務(wù):systemctl restart sshd.service
SecureCRT配置:因?yàn)橹霸诘诹街邪衙艽a去掉了,還得把它再勾起來,選項(xiàng)→會話選項(xiàng)→SSH2,把密碼這一欄勾起來即可。
個人經(jīng)驗(yàn):在配置完成后不要關(guān)閉當(dāng)前SecurtCRT的連接窗口,你可以使用新建連接嘗試登陸,以免配置出錯,造成服務(wù)器無法登陸。