问题:
我正在尝试为多个服务器禁用 SSH 密码身份验证。这意味着我必须修改 sshd_config 文件。从
#PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud)
到
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)
我真的不想一件一件的去做。有什么方法可以使用单个命令在多个服务器上分发/修改配置文件?
您可以做出的假设:
其他注意事项:
我将配置文件设置为在每个服务器上侦听不同的地址和/或端口。
所以这不能通过从中央服务器下载更新的配置文件来完成。
我更喜欢使用文本替换命令来完成这项工作
Sve*_*ven 10
查看配置管理工具,如 Puppet、Ansible 或 cfengine。从长远来看,它们是有帮助的。
对于一次性使用,您可以使用 Augeas,这使得这种更改非常容易,甚至sed可以在大多数系统上使用而无需进一步安装。
sed -i s/\#PasswordAuthentication\ yes/PasswordAuthentication\ no/ /etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)
这可以通过一个简单的 ssh 命令发送:
ssh user@server sed ......
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1296 次 |
| 最近记录: |