多端口SSH配置

CKo*_*ing 29 linux ssh

我需要在两个端口上监听 SSH:22 用于托管管理员访问,26 用于常规访问。我想在 26 上禁止 r​​oot 登录,并禁止端口 22 的除内部 IP 之外的所有其他 IP。后者可以使用 iptables 规则来完成,但我不知道前者。有任何想法吗?

eww*_*ite 33

在 中/etc/ssh/sshd_config,进行以下更改。查找显示的行Port 22并在其下添加类似的行。

Port 22
Port 26
Run Code Online (Sandbox Code Playgroud)

保存文件并重新启动 sshd 守护进程。

我在端口 22 上为内部用户启用 ssh 但需要外部连接的情况下执行此操作,例如端口 2222。这将 ssh 守护程序绑定到两个端口号。

  • 你现在如何限制 root 登录到端口 22? (6认同)
  • 在重新启动 ssh 之前,请使用测试模式 `sshd -t` 来[检查是否有任何错误](https://www.cyberciti.biz/tips/checking-openssh-sshd-configuration-syntax-errors.html)。@faker 使用“PermitRootLogin 禁止密码”(“无密码”的不太明确的同义词) (3认同)

use*_*517 11

您可以使用sshd-f选项来指定备用配置文件。在配置文件中,您需要使用

Port 26 
Run Code Online (Sandbox Code Playgroud)

更改 sshd 正在侦听的端口的指令。

PermitRootLogin no
Run Code Online (Sandbox Code Playgroud)

禁用 root 登录

然后你可以做类似的事情

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26
Run Code Online (Sandbox Code Playgroud)

您可能希望复制标准 sshd 启动脚本并对其进行修改,以便您可以在启动时启动端口 26 服务。

你为什么做这个 ?

  • 如果您希望服务器在其他方面基本相似,而不是拥有两个完整的配置文件,那么只需添加“-o PermitRootLogin yes -p 26”不是更直接、更合适吗? (3认同)

uSl*_*ckr 3

假设 sshd 将使用命令行特定的配置文件运行,那么您可以创建在端口 26 上运行的第二个配置,并执行引用该端口的第二个启动脚本。