Linux安全之密钥登录
我們一般使用 PuTTY 等 SSH 客戶端來遠程管理 Linux 服務(wù)器。但是,一般的密碼方式登錄,容易有密碼被暴力破解的問題。所以,一般我們會將 SSH 的端口設(shè)置為默認的 22 以外的端口,或者禁用 root 賬戶登錄。其實,有一個更好的辦法來保證安全,而且讓你可以放心地用 root 賬戶從遠程登錄——那就是通過密鑰方式登錄。
密鑰形式登錄的原理是:利用密鑰生成器制作一對密鑰——一只公鑰和一只私鑰。將公鑰添加到服務(wù)器的某個賬戶上,然后在客戶端利用私鑰即可完成認證并登錄。這樣一來,沒有私鑰,任何人都無法通過 SSH 暴力破解你的密碼來遠程登錄到系統(tǒng)。此外,如果將公鑰復(fù)制到其他賬戶甚至主機,利用私鑰也可以登錄。
1、首先進入Linux系統(tǒng)的用戶目錄下的.ssh目錄下,root用戶是/root/.ssh,普通用戶是/home/您的用戶名/.ssh,我們以root用戶為例:
cd /root/.ssh
2、執(zhí)行ssh-keygen命令創(chuàng)建密鑰對并保存
ssh-keygen -t rsa -b 4096
這里筆者加了-b 參數(shù),指定了長度,也可以不加-b參數(shù),直接使用ssh-keygen -t rsa
執(zhí)行密鑰生成命令,基本上是一路回車既可以了,如果已經(jīng)生成過密鑰,不想覆蓋的話可以指定路徑與文件名稱
執(zhí)行后會生成id_rsa和id_rsa.pub兩個文件,id_rsa是私鑰(敲黑板:這個很重要,不能外泄),id_rsa.pub是公鑰。
3、看看目錄下是否有authorized_keys文件,沒有的話則執(zhí)行以下命令創(chuàng)建:
touch authorized_keys
4、執(zhí)行成功會創(chuàng)建空authorized_keys文件,授予600權(quán)限(注意:此處權(quán)限必須是600):
chmod 600 /root/.ssh/authorized_keys
5、如果已經(jīng)有了authorized_keys文件,這直接執(zhí)行以下的密鑰追加工作。
將上面生成的公鑰id_rsa.pub追加到authorized_keys文件中:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
注意:單尖括號>表示將文件內(nèi)容全部替換掉;雙尖括號是追加;
6、如此便完成了公鑰的安裝。為了確保連接成功,請保證以下文件權(quán)限正確
chmod 700 ~/.ssh
7、設(shè)置 SSH,打開密鑰登錄功能
編輯 /etc/ssh/sshd_config 文件,進行如下設(shè)置:
RSAAuthentication yes PubkeyAuthentication yes
8、當你完成全部設(shè)置,并以密鑰方式登錄成功后,再禁用密碼登錄:
PasswordAuthentication no
最后,重啟 SSH 服務(wù):
service sshd restart
這樣便開啟了密鑰登錄,關(guān)閉了密碼登錄,提高了服務(wù)的安全性
總結(jié)
以上是生活随笔為你收集整理的Linux安全之密钥登录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022年各大银行定期存款利率多少,各银
- 下一篇: 西联汇款需要什么信息