提问人:Deepak 提问时间:2/27/2022 更新时间:2/27/2022 访问量:1197
无法通过 terraform OCI 连接到远程主机,remote-exec
Not able to connect to remote host via terraform OCI ,remote-exec
问:
我是 Terraform 的新手,OCI。 因此,我现在尝试通过 Cloud shell 在 OCI 中的 Linux 主机上进行 ssh,但该主机位于私有子网中。所以我正在尝试以下命令,但出现超时错误。
你能告诉我我哪里弄错了吗
resource "null_resource" "remote-exec" {
provisioner "remote-exec" {
connection {
agent =false
timeout = "5m"
host ="xx.xx.xx.x" --- This is in a private subnet(private ip address to connect to linux env)
user = var.host_user_name
private_key =file("${path.module}/sshkey.pem")
}
inline = [
"sleep 10",
"sudo su - oracle",
"source EBSapps.env run",
"cd /u01/",
"touch ytest.txt",
]
}
}
答:
0赞
Tapan Hegde
2/27/2022
#1
@Deepak..我想您不能使用私有 IP 连接到私有子网中的实例。在这种情况下,您将需要堡垒主机。在从 terraform 试用之前,您是否在 OCI 控制台中试用过?我相信您将无法仅通过私有 IP 连接到实例。如果要在 terraform 中完成设置,则需要为 bastion-host 创建资源,然后可以通过 bastion host 连接到私有子网实例。在这种情况下,远程执行块将具有堡垒主机 IP。类似于以下内容
provisioner "remote-exec" {
connection {
agent =false
timeout = "5m"
host ="xx.xx.xx.x" --- This should be bastion host IP
user = var.host_user_name
private_key =file("${path.module}/sshkey.pem")
}
引用:
https://registry.terraform.io/providers/hashicorp/oci/latest/docs/resources/bastion_bastion
评论
0赞
Deepak
3/5/2022
是的,我正在尝试通过 Cloud Shell,现在使用了 bastian 主机 IP 地址,但仍然没有运气
评论