You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS跳板机与EC2实例使用不同SSH密钥的连接配置问题

解决方案

1. 前置权限检查

SSH要求私钥文件必须仅当前用户可读,否则会直接拒绝认证,先执行以下命令修正权限:

  • 跳板机密钥权限修正:chmod 600 ~/.ssh/id_rsa
  • 目标EC2实例密钥权限修正:chmod 600 ~/mykey.pem

同时确认mykey.pem对应的公钥已写入目标EC2实例中ec2-user用户的~/.ssh/authorized_keys文件内。

2. 正确SSH配置写法

你原有bastion主机的配置无需修改,保持如下即可:

host bastion
  Hostname <bastion_public_ip>
  IdentityFile ~/.ssh/id_rsa
  User ubuntu

目标EC2实例test-ec2的配置分两种场景选择:

场景1:OpenSSH 7.3及以上版本(推荐)

使用更简洁的ProxyJump参数,配置如下:

host test-ec2
  Hostname <ec2_private_ip>
  IdentityFile ~/mykey.pem
  User ec2-user
  ProxyJump bastion

场景2:旧版本OpenSSH兼容

沿用ProxyCommand写法,配置如下即可:

host test-ec2
  Hostname <ec2_private_ip>
  IdentityFile ~/mykey.pem
  User ec2-user
  ProxyCommand ssh -W %h:%p bastion

3. 配置说明

SSH会按主机配置块独立读取参数:

  • 连接跳板机时自动调用bastion块的~/.ssh/id_rsa密钥完成认证
  • 连接目标EC2实例时自动调用test-ec2块的~/mykey.pem密钥完成认证
    二者认证流程完全独立,不会互相干扰。

配置完成后直接执行ssh test-ec2即可完成跳转连接。

内容的提问来源于stack exchange,提问作者Luca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:36:04