当前位置: 首页 > 知识库问答 >
问题:

Terraform无法通过ssh连接到ec2实例

容修贤
2023-03-14

在尝试应用terraform计划时,我得到一个不加起来的ssh错误:

  • SSH:握手失败:SSH:密钥交换没有通用算法;提供的客户端:[curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group14-sha1 diffie-hellman-group1-sha1]提供的服务器:[diffie-hellman-group-exchange-sha256]

可以使用指定的ssh键手动连接到实例,而不会出现任何问题。下面是terraform连接字符串:

connection {
    type = "ssh"
    user = "ed209"
    private_key = "${file("${var.aws_key_path}")}"
    timeout = "2m"
    agent = true
    host = "${var.use_html" target="_blank">public_ip  ? aws_instance.castiron.public_ip : aws_instance.castiron.private_ip}" 
}

将连接设置为通过与使用ssh手动连接相同的路由私密连接。有什么想法可以尝试吗?

共有1个答案

许出野
2023-03-14

file函数中使用变量的方法是错误的。应该是:

private_key = "${file(var.aws_key_path)}"
 类似资料:
  • 我无法通过 SSH 连接到我的 EC2 实例 - 我收到超时错误。我检查了安全组,以确保 SSH 流量正常工作。我检查了路由表,并确保它们已连接到互联网网关。一小时前,我能够通过SSH连接到实例中,但现在已经没有了。我正在通过腻子连接。在使用ec2-user@domain之前,我遇到了相同的超时连接问题,我只需在Putty的主机名字段中输入IP地址即可解决。在这一点上,我能够毫无问题地连接。然后,

  • 我在AWS上设置了一个OpenVPN EC2实例,它有如下安全组 我下载了文件,可以像(也可以在导入配置后通过网络管理器)。一切都好。 现在我想这样做,我的其他EC2实例(托管实际应用程序)只能通过VPN访问,不能直接通过SSH连接。其中一个EC2实例的安全组如下所示 这里,我允许端口22上来自OVPN服务器的私有IPv4地址的入站流量。 但是,如果我连接到VPN并尝试通过SSH连接到应用EC2实

  • 这不应该这么难。我无法通过SSH客户端连接到新的AWS EC2实例。我是从一个WIN7盒子连接的。 实例OS:Debian 6 使用3个不同的客户端:所有客户端连接ok PuTTY答复: MindTerm Java浏览器外接程序答复: 提亚。

  • 我已经创建了AWS ec2实例并关联到一个安全组。在关联的安全组中,我已经向所有人开放了HTTP(HTTP, TCP,80,0.0.0.0/0)、SSH(SSH, TCP,22,0.0.0.0/0)和ICMP(All ICMP, All, N/A,0.0.0.0/0)。 但当我尝试ping到实例时,它失败了;给出请求超时。入站规则设置 此外,使用PuTTY或openssh连接到实例也会失败。它给出

  • 网络:我有一个私有子网和一个公共子网。附有IG的VPC。公共子网中有一个NAT网关。我还有2个路由表,公共路由表将所有内容路由到IG,私有路由表将所有内容路由到NAT网关。 EC2:我的EC2 Windows实例位于带有EIP和公共DNS的私有子网中。它有一个安全组,允许所有来自互联网的入站/出站,但我甚至不能ping两个rdp

  • 我有两台机器:machine foo()运行redis服务器,而machine bar()运行通过Jedis连接到foo的java应用程序。当给jedis提供地址时,一切都很好。 但是我不信任foo和bar之间的路由器,redis也不支持SSL。因此,我设置了一个从bar到foo:的ssh隧道 现在,从bar中,我可以直接在或通过隧道在成功地telnet到foo上的redis。对于jedis,如果