V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
monkeydev
V2EX  ›  问与答

Ubuntu 开启 ufw 的问题

  •  
  •   monkeydev · Jul 4, 2023 · 2387 views
    This topic created in 1031 days ago, the information mentioned may be changed or developed.
    我买了一台服务器,ssh 端口非 22 ,例如 12121

    在 Ubuntu 上开启了 UFW 防火墙,并且 SSH 端口不是默认的 22 端口,导致无法通过 SSH 连接到 Ubuntu 系统

    请问有什么方式自动判断 ssh 端口,然后添加端口到防火墙昵,再执行 sudo ufw enable
    15 replies    2023-07-06 09:10:12 +08:00
    Salud
        1
    Salud  
       Jul 4, 2023
    westoy
        2
    westoy  
       Jul 4, 2023
    自己写个 systemctl 脚本, 尾行 sshd.service , 一启动就去读/etc/ssh/sshd_config 看绑定的是哪个端口, 然后去操作 ufw
    GlobalNPC
        3
    GlobalNPC  
       Jul 4, 2023   ❤️ 1
    ufw 不是默认开启的
    可以先查看/编辑 SSH 的端口
    ```bash
    vim /etc/ssh/sshd_config
    /etc/init.d/ssh restart
    ```
    然后再设置 ufw
    baobao1270
        4
    baobao1270  
       Jul 4, 2023
    1. 查看 /etc/ssh/sshd_config 配置,找到当前配置的 SSH 端口,比如 12121
    2. ufw allow 12121
    3. ufw enable
    monkeydev
        5
    monkeydev  
    OP
       Jul 4, 2023
    @infun
    感谢答复
    我是希望在脚本执行的过程中,自动获取到 ssh 端口,然后自动添加,不需要自己去看
    monkeydev
        6
    monkeydev  
    OP
       Jul 4, 2023
    @baobao1270
    就是不想自己查看昵
    感谢
    monkeydev
        7
    monkeydev  
    OP
       Jul 4, 2023
    @Salud
    这个脚本倒是没问题
    就是想自动读取读取之后,然后自动添加昵
    不想再手动执行啊
    GlobalNPC
        8
    GlobalNPC  
       Jul 4, 2023
    #!/bin/bash

    # 查询 SSH 端口
    ssh_port=$(sudo grep -i 'Port' /etc/ssh/sshd_config | awk '{print $2}')

    # 启用防火墙规则
    sudo ufw allow $ssh_port

    # 重启防火墙
    sudo ufw reload
    monkeydev
        9
    monkeydev  
    OP
       Jul 4, 2023
    @infun
    666
    baobao1270
        10
    baobao1270  
       Jul 4, 2023
    @monkeydev 感觉你在问一个 X-Y problem


    对于 X-Y Problem 的意思如下:

    1 )有人想解决问题 X
    2 )他觉得 Y 可能是解决 X 问题的方法
    3 )但是他不知道 Y 应该怎么做
    4 )于是他去问别人 Y 应该怎么做?

    简而言之,没有去问怎么解决问题 X ,而是去问解决方案 Y 应该怎么去实现和操作

    所以你为什么「需要自动判断端口」
    ysc3839
        11
    ysc3839  
       Jul 4, 2023 via Android
    @Salud 个人建议换 firewalld ,网络管理器也建议顺便换成 NetworkManager 。
    之前用 ufw 整点高级功能 (如端口转发) 发现不支持,缺少各种功能,然后在另一台 CentOS 的机子上弄过之后发现 firewalld 和 NetworkManager 都挺好用的,也不复杂,就直接换掉了。
    cslive
        12
    cslive  
       Jul 5, 2023
    ufw 不太好用,跟 podman 有冲突,死活不放行 podman 容器端口,我直接卸了,用厂商提供的安全组
    monkeydev
        13
    monkeydev  
    OP
       Jul 5, 2023
    @baobao1270
    不是你说的意思

    我写了一个脚本,这个脚本需要开启 ufw

    但是开启 ufw 的话,会导致 ssh 断开

    所以我想在我的脚本里面增加一个自动获取 ssh 端口,然后放行这个端口

    这样我整个脚本就可以流畅运行了
    psiKENT
        14
    psiKENT  
       Jul 6, 2023 via iPhone
    你的 ssh 端口总是在变化吗?
    monkeydev
        15
    monkeydev  
    OP
       Jul 6, 2023
    @psiKENT
    不变化
    只是允许脚本的过程中,我希望实时获取,获取一次就可以
    就是这个脚本我想写成一个
    而不是想把获取 ssh 的单独再写一个,这个意思
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2381 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 11:28 · PVG 19:28 · LAX 04:28 · JFK 07:28
    ♥ Do have faith in what you're doing.