Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform provisioner不工作-权限被拒绝_Terraform_Terraform Provider Aws_Terraform Provider Azure - Fatal编程技术网

Terraform provisioner不工作-权限被拒绝

Terraform provisioner不工作-权限被拒绝,terraform,terraform-provider-aws,terraform-provider-azure,Terraform,Terraform Provider Aws,Terraform Provider Azure,在创建实例时,我正在terraform中的provisioner部件下方运行。但它不工作,显示权限被拒绝错误 provisioner "remote-exec" { inline = [ "sudo cat /etc/ssh/sshd_config | sed -e 's/#MaxStartups 10:30:60/MaxStartups 10:30:60/' >/etc/ssh/sshd_config1", "sudo mv -f /etc/ssh/ssh

在创建实例时,我正在terraform中的provisioner部件下方运行。但它不工作,显示权限被拒绝错误

provisioner "remote-exec" {
    inline = [
      "sudo cat /etc/ssh/sshd_config | sed -e 's/#MaxStartups 10:30:60/MaxStartups 10:30:60/' >/etc/ssh/sshd_config1",
      "sudo mv -f /etc/ssh/sshd_config1 /etc/ssh/sshd_config"
    ]
  }

我得到以下错误:

错误:无法创建/etc/ssh/sshd\u配置:权限被拒绝 或拒绝许可


当您使用Terraform provisioner
remote exec
更改文件
/etc/ssh/ssh\u config
中需要root权限的内容时,命令
sudo
是交互式的,您需要输入密码才能获得root权限,但provisioner不是。因此,您不能在provisioner中输入密码,以显示您没有权限

Terraform provisioner只喜欢在VM中运行脚本,而据我所知,它不支持交互操作。如果您想与 VM,只需使用不带Terraform的SSH连接

更新

使用SSH命令连接到虚拟机:

ssh user@vm_ip

然后在虚拟机内部,您可以根据需要执行命令。

如果您想继续使用terraform,您可以以root用户身份运行remote exec,如果在此步骤之前允许root登录,那么使用sudo将过时


另一种方法是使用sudo NOPASSWD选项()。

错误明确表示您没有权限编辑本地机箱上的
sshd\u config
文件。您可以建议如何通过SSH完成吗?@Guru还有其他问题吗?它能解决你的问题吗?如果是,请接受它作为答案。@Guru我没有看到任何更新。现在的情况是什么?看起来它与remote exec一起工作,我可以修改。
ssh user@vm_ip