<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux上保護 SSH 服務器連接的方法

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 作者:馬哥Linux運維 ? 2022-08-08 09:55 ? 次閱讀

SSH 是一種廣泛使用的協議,用于安全地訪問 Linux 服務器。大多數用戶使用默認設置的 SSH 連接來連接到遠程服務器。但是,不安全的默認配置也會帶來各種安全風險。 具有開放 SSH 訪問權限的服務器的 root 帳戶可能存在風險。尤其是如果你使用的是公共 IP 地址,則破解 root 密碼要容易得多。因此,有必要了解 SSH 安全性。 這是在 Linux 上保護 SSH 服務器連接的方法。

1. 禁用 root 用戶登錄

為此,首先,禁用 root 用戶的 SSH 訪問并創建一個具有 root 權限的新用戶。關閉 root 用戶的服務器訪問是一種防御策略,可以防止攻擊者實現入侵系統的目標。例如,你可以創建一個名為 exampleroot 的用戶,如下所示:


useradd-mexampleroot passwdexampleroot usermod-aGsudoexampleroot 以下是上述命令的簡要說明:

useradd 創建一個新用戶,并且 - m 參數在你創建的用戶的主目錄下創建一個文件夾。

passwd 命令用于為新用戶分配密碼。請記住,你分配給用戶的密碼應該很復雜且難以猜測。

usermod -aG sudo 將新創建的用戶添加到管理員組。

在用戶創建過程之后,需要對 sshd_config 文件進行一些更改。你可以在 / etc/ssh/sshd_config 找到此文件。使用任何文本編輯器打開文件并對其進行以下更改:


#Authentication:#LoginGraceTime2mPermitRootLoginno AllowUsersexampleroot PermitRootLogin 行將阻止 root 用戶使用 SSH 獲得遠程訪問。在 AllowUsers 列表中包含 exampleroot 會向用戶授予必要的權限。 最后,使用以下命令重啟 SSH 服務:

>rumenz@rumenz/home/rumenz/www.rumenz.com >sudosystemctlrestartssh 如果失敗并且你收到錯誤消息,請嘗試以下命令。這可能因你使用的 Linux 發行版而異。

>rumenz@rumenz/home/rumenz/www.rumenz.com >sudosystemctlrestartsshd

2. 更改默認端口

默認的 SSH 連接端口是 22。當然,所有的攻擊者都知道這一點,因此需要更改默認端口號以確保 SSH 安全。盡管攻擊者可以通過 Nmap 掃描輕松找到新的端口號,但這里的目標是讓攻擊者的工作更加困難。 要更改端口號,請打開 / etc/ssh/sshd_config 并對文件進行以下更改:


Include/etc/ssh/sshd_config.d/*.confPort22099 在這一步之后,使用 sudo systemctl restart ssh 再次重啟 SSH 服務?,F在你可以使用剛剛定義的端口訪問你的服務器。如果你使用的是防火墻,則還必須在此處進行必要的規則更改。在運行 netstat -tlpn 命令時,你可以看到你的 SSH 端口號已更改。

3. 禁止使用空白密碼的用戶訪問

在你的系統上可能有你不小心創建的沒有密碼的用戶。要防止此類用戶訪問服務器,你可以將 sshd_config 文件中的 PermitEmptyPasswords 行值設置為 no。


PermitEmptyPasswordsno

4. 限制登錄 / 訪問嘗試

默認情況下,你可以根據需要嘗試多次輸入密碼來訪問服務器。但是,攻擊者可以利用此漏洞對服務器進行暴力破解。通過指定允許的密碼嘗試次數,你可以在嘗試一定次數后自動終止 SSH 連接。 為此,請更改 sshd_config 文件中的 MaxAuthTries 值。


MaxAuthTries3

5. 使用 SSH 版本 2

SSH 的第二個版本發布是因為第一個版本中存在許多漏洞。默認情況下,你可以通過將 Protocol 參數添加到 sshd_config 文件來啟用服務器使用第二個版本。這樣,你未來的所有連接都將使用第二個版本的 SSH。


Include/etc/ssh/sshd_config.d/*.confProtocol2

6. 關閉 TCP 端口轉發和 X11 轉發

攻擊者可以嘗試通過 SSH 連接的端口轉發來訪問你的其他系統。為了防止這種情況,你可以在 sshd_config 文件中關閉 AllowTcpForwarding 和 X11Forwarding 功能。


X11Forwardingno AllowTcpForwardingno

7. 使用 SSH 密鑰連接

連接到服務器的最安全方法之一是使用 SSH 密鑰。使用 SSH 密鑰時,無需密碼即可訪問服務器。另外,你可以通過更改 sshd_config 文件中與密碼相關的參數來完全關閉對服務器的密碼訪問。 創建 SSH 密鑰時,有兩個密鑰:Public 和 Private。公鑰將上傳到你要連接的服務器,而私鑰則存儲在你將用來建立連接的計算機上。 在你的計算機上使用 ssh-keygen 命令創建 SSH 密鑰。不要將密碼短語字段留空并記住你在此處輸入的密碼。如果將其留空,你將只能使用 SSH 密鑰文件訪問它。但是,如果你設置了密碼,則可以防止擁有密鑰文件的攻擊者訪問它。例如,你可以使用以下命令創建 SSH 密鑰:


ssh-keygen

8. SSH 連接的 IP 限制

大多數情況下,防火墻使用自己的標準框架阻止訪問,旨在保護服務器。但是,這并不總是足夠的,你需要增加這種安全潛力。 為此,請打開 / etc/hosts.allow 文件。通過對該文件進行的添加,你可以限制 SSH 權限,允許特定 IP 塊,或輸入單個 IP 并使用拒絕命令阻止所有剩余的 IP 地址。 下面你將看到一些示例設置。完成這些之后,像往常一樣重新啟動 SSH 服務以保存更改。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11004

    瀏覽量

    206854
  • 服務器
    +關注

    關注

    12

    文章

    8183

    瀏覽量

    82732
  • SSH
    SSH
    +關注

    關注

    0

    文章

    176

    瀏覽量

    16092

原文標題:Linux 怎么防止 ssh 被暴力破解

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    手機也能玩Linux服務器——NOKIA手機高端應用

      核心摘要:對于從事網絡和系統管理工作的人士來說,如果你在出差的路上,或者有事不能上網而如果服務器有什么問題的話,怎么能夠通過SecureCRT和PUTTY遠程連接Linux服務器
    發表于 11-28 14:05

    Linux系統搭建 Web 服務器

    項目開發中,服務器主機用的是 Linux 系統,服務器用 Tomcat,數據庫為 Mysql。如果電腦主機是 Windows 系列系統,則需要在其安裝虛擬機,在虛擬機中安裝
    發表于 07-09 07:56

    window的linux服務器連接

    為了控制服務器權限以及登錄Windows服務器操作方式限制,運維這邊重新搭建了一套Linux跳板機V1.0,只針對SSH連接
    發表于 07-25 06:37

    mobaxterm不能連接linux服務器

    看第一期視頻看到008課的時候,看見韋老師打開mobaxterm的SSH登錄linux服務器上傳文件編譯,于是我也打開mobaxterm,結果連接
    發表于 10-17 05:45

    如何實現SSH服務器?

    你好,有人已經實現了SSH(2版)服務器嗎?你好嗎?SSH只是帶有SSL的telnet,還是有其他的東西有一個基本的SSH服務器?如何實施S
    發表于 03-24 10:14

    VScode終端ssh連接不到Linux服務器問題

    在VScode終端用ssh連接Linux服務器無法識別ssh1. 在網上下載了一個Git進行Linux
    發表于 11-21 16:26

    嵌入式Linux如何添加ssh服務?

    OpenSSH因為其相對較大,一般不太適用于嵌入式平臺,多用于PC或者服務器Linux版本中。Dropbear是一個相對較小的SSH服務器和客戶端。
    發表于 10-27 09:59

    Jenkins遠程部署Linux服務器的過程

    1、Jenkins遠程部署Linux服務器  之前在Jenkins也有一些使用經驗了,但是都是使用團隊配置好的Jenkins,自己只需要管自己的項目以及執行構建即可,這一次自己嘗試了一下配置
    發表于 11-18 18:12

    如何提高Linux ssh安全性

    ssh 是訪問遠程服務器最常用的方法之一,同時,其也是 Linux 服務器受到攻擊的最常見的原因之一。
    的頭像 發表于 02-25 17:01 ?831次閱讀

    Linux保護SSH服務器連接的8種方法

    SSH 是一種廣泛使用的協議,用于安全地訪問 Linux 服務器。大多數用戶使用默認設置的 SSH 連接
    的頭像 發表于 04-03 09:37 ?406次閱讀

    Linux服務器常見的網絡故障排查方法

    Linux服務器 出現網絡故障問題時,Linux服務器通常不能通過SSH訪問了,這時您需要采用外控制臺訪問。比如您在專用
    的頭像 發表于 04-14 15:47 ?2312次閱讀

    Linux中常用的6種SSH身份驗證方法

    文件等。由于遠程訪問可能涉及到安全問題,因此 Linux 提供了多種身份驗證方法保護 SSH 連接的安全性。本文將介紹
    的頭像 發表于 05-12 14:42 ?2603次閱讀

    Linux上建立SSH安全連接的10種方法

    建立 SSH 安全連接方法是通過 SSH (Secure Shell) 協議建立的加密通道,用于在服務器和客戶機之間的安全通信。
    的頭像 發表于 05-29 10:29 ?5264次閱讀

    輕量服務器怎么搭建ssh?

    在搭建輕量服務器時,我們通常需要設置SSH登錄,以便能夠通過SSH客戶端遠程連接服務器。下面是一些簡單的步驟來幫助您搭建
    的頭像 發表于 10-10 09:59 ?373次閱讀

    如何通過SSH連接Linux計算機?

    如何通過SSH連接Linux計算機? SSH是一種加密的網絡協議,用于在不可信的網絡中安全地遠程訪問和操作計算機。在Linux環境中,
    的頭像 發表于 01-12 16:06 ?261次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>