繁体   English   中英

两个 EC2 实例之间的 SSH 和 SCP 超时

[英]SSH & SCP between two EC2 instances times out

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

两个实例都运行 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

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

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

解决方案:

  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,然后按上述方法重新测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM