<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      Linux如何限制ssh連接總結

      2025-06-25 14:02  瀟湘隱者  閱讀(397)  評論(0)    收藏  舉報

      在Linux服務器上,如果沒有使用堡壘機的話,那么需要去限制/允許哪些IP能夠通過ssh連接訪問服務器,下面簡單總結一下限制ssh連接訪問的方法.

      TCP Wrappers控制

      一般需要通過配置/etc/hosts.allow和/etc/hosts.deny來允許/限制用戶ssh連接. 其中/etc/hosts.allow 是 Linux 系統中用于控制網絡服務訪問權限的重要配置文件,屬于 TCP Wrappers 機制的核心組件。其工作原理是:當外部主機嘗試訪問本地服務時,系統會先檢查 hosts.allow,若匹配規則則允許訪問;若不匹配則繼續檢查 hosts.deny,若仍不匹配則默認允許訪問(部分系統可能默認拒絕,需視具體配置)

      語法如下所示:

      <服務列表> : <主機列表> [ : <動作> ]

      /etc/hosts.allow

      all:192.168.7.100:allow     #允許單個IP以任何協議訪問
      sshd:192.168.7.101:allow    #允許單個IP以sshd協議訪問
      all:192.168.196.0/24:allow  #允許IP段段以任何協議訪問

      注意: IP地址后的:allow是可以省略的.

      /etc/hosts.deny

      sshd:192.168.9.98
      sshd:all:deny

      注意:sshd:192.168.9.98沒有配置動作deny,它是可選項,也是默認選項, sshd:192.168.9.98 跟sshd:192.168.9.98:deny是一致的.

      一些常用的配置命令

      echo "sshd:ALL" | sudo tee -a /etc/hosts.deny
      echo "sshd:192.168.9.100:allow" | sudo tee -a /etc/hosts.allow    # 單個IP
      echo "sshd:192.168.9.0/24:allow" | sudo tee -a /etc/hosts.allow   # IP段

      注意事項:

      1. TCP Wrappers控制依賴 TCP Wrappers 機制,需 SSH 服務端(sshd)編譯時啟用 libwrap 支持。否則上面配置可能不生效.
      # ldd /usr/sbin/sshd |grep libwrap.so.0

      上面命令結果:

      • 無輸出結果?:說明 SSH 未集成 TCP Wrappers 功能,規則無效.
      • 正確輸出?:libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0
      1. 在SSH 服務(sshd)中,當 UseTCPWrappers 配置項設置為 yes 時,sshd 會使用 TCP Wrappers 來檢查 /etc/hosts.allow 和 /etc/hosts.deny 文件中的規則,以決定是否允許來自特定主機的連接。
      # grep UseTCPWrappers /etc/ssh/sshd_config
      1. 這兩個文件用于控制對系統服務的訪問,且hosts.allow的優先級高于hosts.deny。

      由于配置麻煩,有許多依賴項,所以一般來說,倒是比較少用這種方式.大部分都會選項下面ssh配置限制的方式. 不過這種方式強大的地方在于 它不僅僅可以控制ssh連接,還可以控制ftp等各種方式.

      ssh配置文件(sshd_config)

      ssh的配置文件一般為/etc/ssh/sshd_config, 它可以限制用戶和IP. 具體如下所示:

      允許指定IP登錄:

      在sshd_config配置文件中,添加或修改AllowUsers選項來指定允許登錄的 IP。修改完成后,重啟SSH服務使配置生效,命令為systemctl restart sshd。

      AllowUsers oracle@192.168.7.100    # 允許單個IP使用oracle(可以指定某個具體用戶)登錄/訪問.
      AllowUsers oracle@192.168.7.0/24   # 允許IP段使用oracle(可以指定某個具體用戶)登錄/訪問.
      AllowUsers *@192.168.7.100         # 允許單個IP使用任意用戶(*表示任意用戶)

      限制指定IP登錄:

      使用DenyUsers選項來拒絕特定 IP 登錄。如要禁止 IP 為192.168.7.200的主機以root用戶登錄,添加DenyUsers root@192.168.7.200,然后重啟SSH服務。

      DenyUsers root@192.168.7.200       # 禁止單個IP
      DenyUsers root@192.168.7.0/24      # 禁止IP段

      當然,你還可以使用AllowGroups和DenyGroups,具體如下所示:

      AllowUsers: 允許某個用戶、某些用戶能登錄,其它都不能登錄
      AllowGroups:允許某個組、某些組能登錄,其它都不能登錄
      DenyUsers:  拒絕某個用戶、某些用戶登錄,其它都能登錄
      DenyGroups: 拒絕某個組、某些組登錄,其它都能登錄.

      如果在sshd_config中有這樣的配置, 192.168.9.98可以通過ssh訪問嗎?

      DenyUsers *@192.168.9.98
      AllowUsers *@192.168.9.98

      AllowUsers *@192.168.9.0/24
      DenyUsers *@192.168.9.98

      測試驗證如下,DenyUsers的優先級要高于AllowUsers.

      ssh 192.168.9.97
      Authorized uses only. All activity may be monitored and reported.
      oracle@192.168.9.97's password: 
      Permission denied, please try again.

      防火墻限制ssh連接

      通過防火墻設置:

      firewalld方式:

      # 允許IP訪問SSH端口(默認22)
      sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.196.178' port port='22' protocol='tcp' accept"

      # 拒絕指定IP訪問
      sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.9.98'  port port='22' protocol='tcp' reject"

      # 拒絕其他IP訪問
      sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' port port='22' protocol='tcp' reject"

      # 重載防火墻
      sudo firewall-cmd --reload

      iptables方式:

      # 允許IP
      sudo iptables -A INPUT -p tcp -s 192.168.196.178 --dport 22 -j ACCEPT

      # 拒絕其他IP
      sudo iptables -A INPUT -p tcp --dport 22 -j DROP

      # 保存規則(臨時)
      sudo iptables-save > /etc/sysconfig/iptables   # RHEL/CentOS

      如果防火墻屏蔽了ssh連接的話,會提示下面錯誤信息:

      $ ssh 192.168.9.97
      ssh: connect to host 192.168.9.97 port 22: Connection refused

      fail2ban方式

      Fail2Ban 是一款基于 Python 開發的開源網絡安全防護工具,專為 Linux/Unix 系統設計,用于?自動化防御暴力破解、惡意掃描和拒絕服務(DDoS/CC)等自動化攻擊. 雖然它的用途是安全防護,但是它也可以用來限制ssh連接.

      封禁IP使用ssh訪問

      fail2ban-client set sshd banip 192.168.9.97
      主站蜘蛛池模板: 四虎国产精品永久免费网址| 九九热视频精品在线播放| 精品人妻少妇嫩草av专区| av 日韩 人妻 黑人 综合 无码| 真人性囗交视频| 成av免费大片黄在线观看| 成 人免费va视频| 福利成人午夜国产一区| 久久精品国产精品亚洲综合| 国产普通话对白刺激| 国产福利精品一区二区| 女人香蕉久久毛毛片精品| 日本高清视频网站www| 在线观看的网站| 99久久国产一区二区三区| 东京热一精品无码av| 亚洲国产长腿丝袜av天堂| 91老熟女老人国产老太| 国产普通话刺激视频在线播放| 昭觉县| 日韩精品亚洲国产成人av| 9色国产深夜内射| 八宿县| 久久久精品人妻一区二区三区 | 哈尔滨市| 国产麻豆一区二区精彩视频| 老司机免费的精品视频| 国产一区二区三区免费观看| 精品人妻系列无码天堂| 亚洲精品国产一区二区三| 日本一区三区高清视频| 久久99精品网久久| 亚洲春色在线视频| 人成午夜免费视频在线观看| 国产99在线 | 免费| 把女人弄爽大黄A大片片| 亚洲综合精品第一页| 国产精品污一区二区三区| 18岁日韩内射颜射午夜久久成人| 一区二区三区无码免费看| 亚洲无线码一区二区三区|