【问题标题】:SSH not working to C3 compute-optimized machinesSSH 不适用于 C3 计算优化机器
【发布时间】:2016-07-09 16:49:19
【问题描述】:

我无法连接到我在 EC2 上创建的属于 C3 系列的任何机器。

我通过 SSH 连接到任何其他类型的机器都没有问题。

我需要做什么来进一步调试这个?

我采取的步骤:

  • 我创建了一个 t1.micro 机器,它具有相同的映像(一个 ubuntu 13.10 64 位 AMI ami-2f252646)、相同的密钥对和相同的安全组。效果很好。
  • 我 ssh 到 t1.micro 机器,然后再次从该机器 ssh 到 C3 机器。这告诉我机器已启动并正在运行,我的问题是直接从我的 PC 连接到 C3 机器(通过办公室路由器)。
  • 我尝试通过 22 端口远程登录到 t1.micro 机器 - 我得到了连接。
  • 我尝试通过端口 22 远程登录到 C3 机器 - 不起作用。
  • 我尝试从另一台 PC 而非办公室远程登录到端口 22 上的 C3 机器 - 我得到了连接。
  • 我在几台 C3 类型的机器上试过这个,结果都一样。

所以:

  • 机器已启动并正在运行,并且可以接受连接。
  • 我的office连接和C3机器的耦合明显有问题。
  • 我的办公室连接在任何其他类型的 m1/c1/g1/m2 机器上都可以正常工作,所以只有“3”系列有这个问题。

我不知道如何解决这个问题,甚至进一步调试它。现在我正在通过代理 t1.micro 机器与我的机器建立隧道......

我的操作系统本身就是 Ubuntu 13.10

这是我的ssh -vvv 命令输出的gist link

好像卡在debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

【问题讨论】:

  • 如果您使用 -vvv 作为标志 ssh 到实例,输出是什么?这个实例是 ec2 classic 还是 vpc?你能启动另一个实例然后从那里得到它吗? (您可能需要 scp 到该新实例的密钥,因此您需要使用不同的密钥对来启动该实例)
  • @pquery 我添加了一个指向输出要点的链接。这是 EC2 的经典之作。打开另一个不是 C3 家族的实例,比如 t1.micro,让我进入(“旋转”)那里,正如我在我的帖子中所描述的那样(显然,你也用我的钥匙来做这件事)

标签: amazon-web-services ssh amazon-ec2


【解决方案1】:

在 AWS 专业(付费)服务的帮助下解决了这个问题。

问题出在某些身份验证协议上。 我在网络连接中配置了一个高 (9000) MTU(最小传输单元),我需要它来访问大量数据。

解决方案是将 MTU 降低到 1400 以下(这对我不利,因为我需要它),或者更改对我有用的 SSH 配置。

sudo vi /etc/ssh/ssh_config

并取消注释以CiphersMACs 开头的行

我说:

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160

这是 Ubuntu 12.10 及更高版本的错误(它适用于 12.04 及更低版本)

【讨论】:

    【解决方案2】:

    除了将提供的 pem 与您自己创建的 Ami 一起使用之外,还有另一种选择。

    返回并在您知道有效的实例大小上启动当前图像。以主用户身份 SSH 进入实例,然后创建辅助用户并将其添加到 sudoers 组。

    sudo useradd -d /home/myuser -m myuser
    sudo usermod -a -G sudo myuser
    

    然后切换到新用户并转到他们的主目录并创建一个 .ssh 文件夹,将其更改为 0700。进入 .ssh 目录中的 vi(或您选择的文本编辑器)并创建一个 authorized_keys 文件。 将您的 PUBLIC 密钥内容插入此文件。 将此文件的权限更改为 0600。

    sudo su myuser
    cd ~
    mkdir .ssh
    chmod 0700 .ssh
    cd .ssh 
    vi authorized_keys
    chmod 0600 authorized_keys
    

    退出用户。在退出该框之前,您可能想要编辑(作为 sudo)/etc/passwd 并将用户 shell 从 sh 更改为 bash。

    开箱即用并在返回新 Ami 之前测试与新用户的连接。

    现在将新的 ami 启动为 C3 实例并与您的用户连接。

    【讨论】:

    • 这是如何通过亚马逊上的另一台机器到达机器的,对吧?谢谢,但我真的在尝试解决基本问题,即 SSH 协议无法从我的机器到 EC2 机器的问题。
    • 如果你看看你的要点,那不是问题。第 9 行显示正在建立连接,但找不到正确的密钥。这就是为什么我在阅读您的 ssh 的详细输出后提供上述解决方案的原因
    猜你喜欢
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 2016-01-28
    相关资源
    最近更新 更多