两个 EC2 实例之间的 SSH 和 SCP 超时
SSH & SCP between two EC2 instances times out
我想 transfer/tunnel 通过 ssh
和 scp
在两个 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
- Add/uncomment 行:
RSAAuthentication yes
PubkeyAuthentication yes
- 将实例 A 中
/home/ubuntu/.ssh/id_rsa.pub
的复制内容附加到 /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
我在这里错过了什么?我需要更改其他文件权限吗?
问题出在应用于实例集群的安全组上的入站规则。
解决方案:
- 在位于 https://console.aws.amazon.com/ec2/ 的 EC2 仪表板上,导航到左侧窗格中的安全组。
- Select 适用于实例 B 的安全组,即您要隧道连接到的实例。
- 在入站选项卡 > 编辑中添加入站规则。类型:SSH;端口:22,IP 地址:10.XX.XX.XX/32 其中 10.XX.XX.XX 是实例 A 的私有 IPv4。
- 保存规则并登录 out/log 实例 A,然后按上述方法重新测试。
我想 transfer/tunnel 通过 ssh
和 scp
在两个 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
- Add/uncomment 行:
RSAAuthentication yes
PubkeyAuthentication yes
- 将实例 A 中
/home/ubuntu/.ssh/id_rsa.pub
的复制内容附加到/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
我在这里错过了什么?我需要更改其他文件权限吗?
问题出在应用于实例集群的安全组上的入站规则。
解决方案:
- 在位于 https://console.aws.amazon.com/ec2/ 的 EC2 仪表板上,导航到左侧窗格中的安全组。
- Select 适用于实例 B 的安全组,即您要隧道连接到的实例。
- 在入站选项卡 > 编辑中添加入站规则。类型:SSH;端口:22,IP 地址:10.XX.XX.XX/32 其中 10.XX.XX.XX 是实例 A 的私有 IPv4。
- 保存规则并登录 out/log 实例 A,然后按上述方法重新测试。