是否有命令可以在 中设置设置sshd_config
,而不是手动编辑文件?我更喜欢这样做,因为它更容易自动化。否则我必须grep
用我的脚本进行配置。
答案1
尽管没有标准工具可以更改设置sshd_config
,但 Ubuntu 的安装后脚本具有一些修改配置的功能。
它支持:
- 启用和禁用选项
- 重命名选项
- 读取设置的值,例如它
22
检索Port 22
- 设置settings的值,例如可以设置
22
为Port
:Port 22
有以下限制:
- 它不支持上下文(例如
Match
) - 它不知道键期望的值,例如
AllowUsers user@host more@multiple values
此类函数的替代方案是使用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
.
所以简短的答案是不。但是,这并不能阻止您自己制作。