【问题标题】:SSH & SCP between two EC2 instances times out两个 EC2 实例之间的 SSH 和 SCP 超时
【发布时间】:2019-06-19 11:10:00
【问题描述】:

我想通过sshscp 在两个Amazon EC2 实例之间传输/隧道(从A 到B,如下所示)。

两个实例都运行 Ubuntu 18.04。

  • 实例 A:ec2-34-200-134-210.compute-1.amazonaws.com
  • 实例 B:ec2-34-199-133-209.compute-1.amazonaws.com

在实例 A 上运行:

  • $ ssh-keygen -t rsa -b 4096
  • 结果放在/home/ubuntu/.ssh/id_rsa/home/ubuntu/.ssh/id_rsa.pub
  • $ chmod 400 /home/ubuntu/.ssh/id_rsa.pub
  • 复制/home/ubuntu/.ssh/id_rsa.pub内容

在实例 B 上运行:

  • $ sudo vim /etc/ssh/sshd_config
  • 添加/取消注释行:
    • RSAAuthentication yes
    • PubkeyAuthentication yes
  • /home/ubuntu/.ssh/id_rsa.pub 从实例 A 复制的内容附加到 /home/ubuntu/.ssh/authorized_keys

现在,从 A 到 B 进行测试:

ubuntu@ip-XX-XX-XX-XX:~$ ssh -T ubuntu@ec2-34-199-133-209.compute-1.amazonaws.com
ssh: connect to host ec2-34-199-133-209.compute-1.amazonaws.com port 22: Connection timed out

ubuntu@ip-XX-XX-XX-XX:~$ touch testfile.txt && \
>    scp testfile.txt ubuntu@ec2-34-199-133-209.compute-1.amazonaws.com:/home/ubuntu/
ssh: connect to host ec2-34-199-133-209.compute-1.amazonaws.com port 22: Connection timed out

我在这里缺少什么?我需要更改其他文件权限吗?

【问题讨论】:

    标签: amazon-web-services ssh scp


    【解决方案1】:

    问题在于应用于实例集群的安全组上的入站规则。

    解决方案:

    1. https://console.aws.amazon.com/ec2/ 的 EC2 仪表板上,导航到左侧窗格中的安全组。
    2. 选择适用于实例 B 的安全组,即您要通过隧道连接到的实例。
    3. 在入站选项卡上添加入站规则 > 编辑。类型:SSH;端口:22,IP 地址:10.XX.XX.XX/32 其中 10.XX.XX.XX 是实例 A 的私有 IPv4。
    4. 保存规则并注销/登录实例 A,然后如上重新测试。

    【讨论】:

    • 澄清...一个安全组适用于一个实例。如果多个实例具有相同的安全组,则该安全组将单独应用于每个实例。除非安全组有允许入站连接的规则,否则同一安全组内的实例无法相互通信。最好的配置方法是允许入站连接以安全组本身作为源(而不是使用 IP 地址范围)。也就是说,安全组可以引用自己。
    • 啊,知道了@JohnRotenstein。感谢您的提示。
    猜你喜欢
    • 1970-01-01
    • 2016-04-15
    • 2017-10-13
    • 2014-03-19
    • 2015-09-10
    • 2020-09-03
    • 1970-01-01
    • 2011-08-23
    • 2019-12-20
    相关资源
    最近更新 更多