如何禁止使用密碼通過(guò) ssh 連接遠(yuǎn)程服務(wù)器
禁止使用密碼登錄 ssh(轉(zhuǎn)而使用密鑰代替密碼登錄)可以提高遠(yuǎn)程服務(wù)器的安全性,降低被遠(yuǎn)程攻擊的可能性。
我們都知道可以使用 root 或者其他用戶(hù)的密碼通過(guò) ssh 登錄到遠(yuǎn)程 Linux 服務(wù)器。
但是這會(huì)有一定的安全風(fēng)險(xiǎn),大量的暴力攻擊腳本總是會(huì)試圖使用隨機(jī)密碼登錄到我們的系統(tǒng)。查看 Linux 服務(wù)器上的登錄日志,如果有大量失敗登錄記錄,那可能就是被暴力攻擊登錄的痕跡。?
這就是我們?yōu)槭裁匆恢睆?qiáng)調(diào)要使用強(qiáng)密碼的原因。我們?cè)???可以提高 ssh 安全性的幾個(gè)配置??? 一文中提到過(guò),加強(qiáng)安全性可以使用類(lèi)似 fail2ban 的工具,或者直接禁止使用密碼登錄,這樣不管是誰(shuí)都無(wú)法通過(guò)登錄密碼進(jìn)行遠(yuǎn)程連接了。
禁用密碼登錄后,那怎樣在連接 ssh 呢?可以使用密鑰,即將公共 ssh 密鑰添加到服務(wù)器的系統(tǒng)(稱(chēng)為基于密鑰的身份驗(yàn)證)的方式連接到服務(wù)器。
禁用 ssh 密碼身份驗(yàn)證
在真正動(dòng)手設(shè)置之前,需要注意以下事項(xiàng):
1)確保在個(gè)人計(jì)算機(jī)上創(chuàng)建了 ssh 密鑰對(duì),并將公鑰添加到遠(yuǎn)程服務(wù)器,以便可以登錄到遠(yuǎn)程服務(wù)器;
2)禁用基于密碼的身份驗(yàn)證,意味著你不能使用其他計(jì)算機(jī)通過(guò) ssh 連接遠(yuǎn)程服務(wù)器;
3)ssh 密鑰需妥善保存,如果因?yàn)閭€(gè)人計(jì)算機(jī)被格式化或其他原因?qū)е聛G失密鑰,那么就無(wú)法連接遠(yuǎn)程服務(wù)器了。
一些云服務(wù)器提供商(比如 Linode 和阿里云服務(wù))提供了 VNC 控制臺(tái),如果無(wú)法連接遠(yuǎn)程服務(wù)器,那么可以使用這種方式連接系統(tǒng)。
另外,要禁用基于密碼的 ssh 身份驗(yàn)證,你需要熟悉 ssh 和其他 sysadmin 概念,且知道如何使用基于終端的文本編輯器,比如 vim 或 nano。
在了解以上注意事項(xiàng)后,我們接下來(lái)看看如何禁用基于密碼的 ssh 身份驗(yàn)證。
首先,以 root 身份登錄到 Linux 服務(wù)器,然后使用基于終端的編輯器(比如 vim)編輯以下文件:
找到如下內(nèi)容:
然后將其改為:
如果該行被注釋掉了(前面有一個(gè) #),那么取消注釋?zhuān)慈サ羟懊娴?span style="background-color: #d6fad6;"> #)。
修改完成后,保存文件,并重啟 ssh 服務(wù):
這樣就可以了。
以上就是本次分享全部?jī)?nèi)容,歡迎討論。