您好,登錄后才能下訂單哦!
這篇“Linux下如何強(qiáng)化SSH安全”文章的知識點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Linux下如何強(qiáng)化SSH安全”文章吧。
密碼登錄很方便,因?yàn)槟憧梢詮娜魏蔚胤降娜魏螜C(jī)器上登錄。但是它們在暴力攻擊面前也是脆弱的。嘗試以下策略來強(qiáng)化你的密碼登錄:
當(dāng)我的 ssh 登錄失敗,并顯示“Too many authentication failures for carla”的報錯信息時,我們不應(yīng)該氣餒,傷痛之感并不能解決問題。解決辦法就是在你的(客戶端的) ~/.ssh/config 文件設(shè)置強(qiáng)制密碼登錄。如果這個文件不存在,首先創(chuàng)個 ~/.ssh/目錄。
$ mkdir ~/.ssh $ chmod 700 ~/.ssh
然后在一個文本編輯器創(chuàng)建 ~/.ssh/confg 文件,輸入以下行,使用你自己的遠(yuǎn)程域名替換 HostName。
HostName remote.site.com PubkeyAuthentication=no
(LCTT 譯注:這種錯誤發(fā)生在你使用一臺 Linux 機(jī)器使用 ssh 登錄另外一臺服務(wù)器時,你的 .ssh 目錄中存儲了過多的私鑰文件,而 ssh 客戶端在你沒有指定 -i 選項時,會默認(rèn)逐一嘗試使用這些私鑰來登錄遠(yuǎn)程服務(wù)器后才會提示密碼登錄,如果這些私鑰并不能匹配遠(yuǎn)程主機(jī),顯然會觸發(fā)這樣的報錯,甚至拒絕連接。因此本條是通過禁用本地私鑰的方式來強(qiáng)制使用密碼登錄——顯然這并不可取,如果你確實(shí)要避免用私鑰登錄,那你應(yīng)該用 -o PubkeyAuthentication=no 選項登錄。顯然這條和下兩條是互相矛盾的,所以請無視本條即可。)
公鑰認(rèn)證比密碼登錄安全多了,因?yàn)樗皇鼙┝γ艽a攻擊的影響,但是并不方便因?yàn)樗蕾囉?RSA 密鑰對。首先,你要創(chuàng)建一個公鑰/私鑰對;下一步,私鑰放于你的客戶端電腦,并且復(fù)制公鑰到你想登錄的遠(yuǎn)程服務(wù)器。你只能從擁有私鑰的電腦登錄才能登錄到遠(yuǎn)程服務(wù)器,你的私鑰就和你的家門鑰匙一樣敏感;任何人獲取到了私鑰就可以獲取你的賬號。你可以給你的私鑰加上密碼來增加一些強(qiáng)化保護(hù)規(guī)則。使用 RSA 密鑰對管理多個用戶是一種好的方法:當(dāng)一個用戶離開了,只要從服務(wù)器刪了他的公鑰就能取消他的登錄。
以下例子創(chuàng)建一個新的 3072 位長度的密鑰對,它比默認(rèn)的 2048 位更安全,而且為它起一個獨(dú)一無二的名字,這樣你就可以知道它屬于哪個服務(wù)器。
$ ssh-keygen -t rsa -b 3072 -f id_mailserver
以下創(chuàng)建兩個新的密鑰, id_mailserver 和 id_mailserver.pub ,id_mailserver 是你的私鑰–不要傳播它!現(xiàn)在用 ssh-copy-id 命令安全地復(fù)制你的公鑰到你的遠(yuǎn)程服務(wù)器。你必須確保在遠(yuǎn)程服務(wù)器上有可用的 SSH 登錄方式。
$ ssh-copy-id -i id_rsa.pub user@remoteserver /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed user@remoteserver's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'user@remoteserver'" and check to make sure that only the key(s) you wanted were added.
ssh-copy-id 會確保你不會無意間復(fù)制了你的私鑰;從上述輸出中復(fù)制登錄命令,記得帶上其中的單引號,以測試你的新的密鑰登錄。
$ ssh 'user@remoteserver'
它將用你的新密鑰登錄,如果你為你的私鑰設(shè)置了密碼,它會提示你輸入。
一旦你已經(jīng)測試并且驗(yàn)證了你的公鑰可以登錄,就可以取消密碼登錄,這樣你的遠(yuǎn)程服務(wù)器就不會被暴力密碼攻擊。如下設(shè)置你的遠(yuǎn)程服務(wù)器的 /etc/sshd_config 文件。
PasswordAuthentication no
然后重啟服務(wù)器上的 SSH 守護(hù)進(jìn)程。
你可以為你的遠(yuǎn)程登錄設(shè)置常用的別名,來替代登錄時輸入的命令,例如:
ssh -u username -p 2222 remote.site.with.long-name
你可以使用 ssh remote1。你的客戶端機(jī)器上的 ~/.ssh/config 文件可以參照如下設(shè)置
Host remote1 HostName remote.site.with.long-name Port 2222 User username PubkeyAuthentication no
如果你正在使用公鑰登錄,可以參照這個:
Host remote1 HostName remote.site.with.long-name Port 2222 User username IdentityFile ~/.ssh/id_remoteserver
以上就是關(guān)于“Linux下如何強(qiáng)化SSH安全”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。