在AWS私有子网中的EC2实例之间进行SSH连接有几种方法,其中最佳的方法是使用EC2实例的私有IP地址和密钥对进行连接。以下是一个解决方法的代码示例:
# 获取目标EC2实例的私有IP地址和密钥对名称
TARGET_PRIVATE_IP="10.0.0.10"
KEY_PAIR_NAME="my-key-pair"
# 从本地计算机连接到目标EC2实例
ssh -i my-key-pair.pem ec2-user@$TARGET_PRIVATE_IP
在上述示例中,TARGET_PRIVATE_IP是目标EC2实例的私有IP地址,KEY_PAIR_NAME是用于连接到EC2实例的密钥对的名称。确保在本地计算机上具有与密钥对名称相匹配的PEM文件(例如my-key-pair.pem)。
您还可以通过使用AWS Systems Manager Session Manager来进行SSH连接。以下是一个解决方法的代码示例:
# 获取目标EC2实例的实例ID
TARGET_INSTANCE_ID="i-1234567890abcdef0"
# 使用AWS Systems Manager Session Manager连接到目标EC2实例
aws ssm start-session --target $TARGET_INSTANCE_ID --document-name "AWS-StartSSHSession" --parameters "portNumber=22"
在上述示例中,TARGET_INSTANCE_ID是目标EC2实例的实例ID。确保您的IAM角色具有执行SSM操作的权限。
无论您选择哪种方法,都应确保目标EC2实例的安全组和网络访问控制列表(ACL)允许来自源EC2实例的SSH流量。