Terraform provisioner不工作-权限被拒绝
在创建实例时,我正在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
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