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