2 个 sshd 配置 1 个用于内部,1 个用于外部

par*_*isv 8 ssh sshd

我如何设置打开的 ssh 服务器,以便如果我从本地局域网 ssh'ng 我希望它通过端口 22 但如果我通过端口 12345 从外部访问它例如。

然后对于外部访问,我希望在 sshd_config 中有一些不同的(更严格的)规则

sil*_*uck 9

Eric Carvalho的答案适用于 15.04 之前的版本,但他们弃用了,然后从 Ubuntu SystemdForUpstartUsers 中删除了暴发户。

这些步骤已适用于 systemd。

  1. 复制SSH配置文件:

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_external

  2. 复制systemd配置文件:

    sudo cp /lib/systemd/system/ssh.service /lib/systemd/system/sshd-external.service

    在新文件 ( /lib/systemd/system/sshd-external.service) 中更改行:

    ExecStart=/usr/sbin/sshd -D $SSHD_OPTS

    到:

    ExecStart=/usr/sbin/sshd -D $SSHD_OPTS -f /etc/ssh/sshd_config_external

    和线:

    Alias=sshd.service

    到:

    Alias=sshd-external.service

  3. 现在根据/etc/ssh/sshd_config_external您的需要进行定制(例如更改Port 22Port 12345

  4. 启用服务

    sudo ln -s /lib/systemd/system/ssh-external.service /etc/systemd/system/sshd-external.service

    如果你已经运行了上面的命令,那么sudo systemctl disable sshd-external.service在运行下一个命令之前运行

    sudo systemctl enable sshd-external.service

    sudo service sshd-external start

这已经在真实硬件上的 Ubuntu 16.04 和 virtualbox 中的虚拟机上进行了测试。

如果这不起作用,请告诉我。众所周知,我会打错字。

  • 它适用于 18.04 (2认同)

Eri*_*lho 3

创建另一个 SSH 服务实例。

  1. 复制 SSH 配置文件:

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_external
    
    Run Code Online (Sandbox Code Playgroud)
  2. 复制upstart配置文件:

    sudo cp /etc/init/ssh.conf /etc/init/ssh-external.conf
    
    Run Code Online (Sandbox Code Playgroud)

    在新文件 ( ssh-external.conf) 中,更改以下行:

    mkdir -p -m0755 /var/run/sshd
    
    Run Code Online (Sandbox Code Playgroud)

    到:

    mkdir -p -m0755 /var/run/sshd-external
    
    Run Code Online (Sandbox Code Playgroud)

    并更改行:

    exec /usr/sbin/sshd -D
    
    Run Code Online (Sandbox Code Playgroud)

    到:

    exec /usr/sbin/sshd -D -f /etc/ssh/sshd_config_external
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建新贵的链接:

    sudo ln -s /lib/init/upstart-job /etc/init.d/ssh-external 
    
    Run Code Online (Sandbox Code Playgroud)

现在/etc/ssh/sshd_config_external根据您的需求进行定制(例如更改Port 22Port 12345)并启动服务:

sudo service ssh-external start
Run Code Online (Sandbox Code Playgroud)