AWS SSM EC2 Proxy Command 项目教程
1. 项目的目录结构及介绍
aws-ssm-ec2-proxy-command/
├── LICENSE
├── README.md
├── aws-ssm-ec2-proxy-command.sh
└── aws-ssm-ec2-proxy-command.ps1
- LICENSE: 项目的许可证文件,通常包含项目的使用条款和条件。
- README.md: 项目的说明文档,包含项目的基本信息、安装和使用指南。
- aws-ssm-ec2-proxy-command.sh: 用于 Linux 和 macOS 系统的代理命令脚本。
- aws-ssm-ec2-proxy-command.ps1: 用于 Windows 系统的代理命令脚本。
2. 项目的启动文件介绍
aws-ssm-ec2-proxy-command.sh
该脚本是为 Linux 和 macOS 系统设计的代理命令脚本。它通过 AWS SSM 服务连接到 EC2 实例。以下是脚本的基本使用方法:
# 将脚本复制到 SSH 目录并确保其可执行
cp aws-ssm-ec2-proxy-command.sh ~/.ssh/
chmod +x ~/.ssh/aws-ssm-ec2-proxy-command.sh
# 在 SSH 配置文件中添加以下内容
Host i-* mi-*
IdentityFile ~/.ssh/id_ed25519
ProxyCommand ~/.ssh/aws-ssm-ec2-proxy-command.sh %h %r %p ~/.ssh/id_ed25519
StrictHostKeyChecking no
aws-ssm-ec2-proxy-command.ps1
该脚本是为 Windows 系统设计的代理命令脚本。它通过 AWS SSM 服务连接到 EC2 实例。以下是脚本的基本使用方法:
# 将脚本复制到 SSH 目录
cp aws-ssm-ec2-proxy-command.ps1 ~\.ssh\
# 在 SSH 配置文件中添加以下内容
Host i-* mi-*
IdentityFile ~\.ssh\id_ed25519
ProxyCommand powershell.exe ~\.ssh\aws-ssm-ec2-proxy-command.ps1 %h %r %p ~\.ssh\id_ed25519
StrictHostKeyChecking no
3. 项目的配置文件介绍
SSH 配置文件
在 Linux、macOS 和 Windows 系统中,SSH 配置文件通常位于 ~/.ssh/config
。以下是配置文件的基本内容:
Host i-* mi-*
IdentityFile ~/.ssh/id_ed25519 # 私钥文件路径
ProxyCommand ~/.ssh/aws-ssm-ec2-proxy-command.sh %h %r %p ~/.ssh/id_ed25519 # Linux 和 macOS
# ProxyCommand powershell.exe ~/.ssh/aws-ssm-ec2-proxy-command.ps1 %h %r %p ~/.ssh/id_ed25519 # Windows
StrictHostKeyChecking no
- IdentityFile: 指定用于身份验证的私钥文件路径。
- ProxyCommand: 指定用于连接到 EC2 实例的代理命令脚本。
- StrictHostKeyChecking: 设置为
no
以避免首次连接时的主机密钥检查提示。
通过以上配置,您可以使用 AWS SSM 服务通过 SSH 连接到 EC2 实例,而无需直接暴露实例的公网 IP。