sshd_config 的包装命令?

sshd_config 的包装命令?

是否有命令可以在 中设置设置sshd_config,而不是手动编辑文件?我更喜欢这样做,因为它更容易自动化。否则我必须grep用我的脚本进行配置。

答案1

尽管没有标准工具可以更改设置sshd_config,但 Ubuntu 的安装后脚本具有一些修改配置的功能。

它支持:

  • 启用和禁用选项
  • 重命名选项
  • 读取设置的值,例如它22检索Port 22
  • 设置settings的值,例如可以设置22PortPort 22

有以下限制:

  • 它不支持上下文(例如Match
  • 它不知道键期望的值,例如AllowUsers user@host more@multiple values

可以在以下位置找到:http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/oneiric/openssh/oneiric/view/head:/debian/openssh-server.postinst

此类函数的替代方案是使用sed.例如,要更改端口设置:

sed "s/^ *Port .*/Port 22/i" -i sshd_config

显然,这仅在之前定义了端口的情况下才有效。作为替代方案,您可以删除现有设置并附加新设置:

sed "/^ *Port/di" -i sshd_config
echo Port 22 >> sshd_config

答案2

与大约 99.9999999% 的 *nix 配置文件一样,没有。

答案3

大多数提供单独包装器来编辑其配置文件的应用程序都是为了避免危险竞争条件(如visudo命令)或避免语法错误破坏应用程序(再次,如其用途visudo)。这些东西并不真正适用于ssh_config.

所以简短的答案是。但是,这并不能阻止您自己制作。

相关内容