问题:
我试图为多个服务器禁用SSH密码validation。 这意味着我必须修改sshd_config文件。 从
#PasswordAuthentication yes
至
PasswordAuthentication no
我真的不想一个一个去做。 有什么方法可以用一个命令在多个服务器上分发/修改configuration文件?
假设你可以做:
其他说明:
我将configuration文件设置为在每台服务器上侦听不同的地址和/或端口。
所以这不能通过从中央服务器下载更新的configuration文件来完成。
我更喜欢文本replace命令来完成这项工作
看看Puppet,Ansible或cfengine等configurationpipe理工具。 他们从长远来看是有帮助的。
对于一次性的,你可以使用Augeas,这使得这个改变非常简单,甚至sed
,这是在大多数系统上没有进一步安装。
sed -is/\#PasswordAuthentication\ yes/PasswordAuthentication\ no/ /etc/ssh/sshd_config
这可以通过一个简单的ssh命令来发送:
ssh user@server sed ......