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

如何通过SSH登录AWS上托管的Kubernetes节点或服务器?

解决AWS托管Kubernetes节点的SSH登录问题

我来帮你梳理下AWS托管Kubernetes(大概率是EKS)节点的几种登录方案,毕竟默认情况下EKS节点是私网部署,直接从本地SSH确实会遇到障碍:

方法1:AWS Systems Manager (SSM) Session Manager(最推荐)

这个方法不需要开SSH端口,也不用搭堡垒机,只要你的节点满足两个条件:

  • 节点用的是EKS官方AMI(默认预装了SSM Agent)
  • 节点的IAM角色附加了AmazonSSMManagedInstanceCore权限策略

步骤很简单:

  1. 本地先确保AWS CLI已经配置好正确的凭证和区域
  2. 用kubectl获取节点对应的EC2实例ID:
    kubectl get nodes -o jsonpath='{.items[*].spec.providerID}'
    
    输出格式类似aws://us-east-1/i-0abc123def456ghi,提取里面的i-0abc123def456ghi就是实例ID
  3. 启动SSM会话登录节点:
    aws ssm start-session --target <实例ID> --region <你的AWS区域>
    
    直接就能进入节点的shell了,全程不需要密钥对!

方法2:通过堡垒机(Bastion Host)SSH登录

如果更习惯传统SSH方式,可以搭一台堡垒机:

  • 在EKS节点所在的VPC公网子网,创建一台带公网IP的EC2实例当堡垒机
  • 配置堡垒机安全组:允许你的本地IP访问22端口
  • 配置EKS节点安全组:允许堡垒机的安全组访问22端口
  • 先SSH到堡垒机:
    ssh -i <你的密钥对.pem> ec2-user@<堡垒机公网IP>
    
  • 从堡垒机再SSH到EKS节点(用节点的私网IP):
    ssh -i <你的密钥对.pem> ec2-user@<节点私网IP>
    
    注意:节点用户名要看镜像,Amazon Linux 2是ec2-user,Ubuntu是ubuntu。另外密钥对必须是创建EKS节点组时指定的那一对,还要把密钥文件权限设为chmod 400 <你的密钥对.pem>,否则SSH会报错。

方法3:用kubectl通过特权Pod间接访问节点

如果暂时没法改IAM或安全组,可以通过在节点上运行特权Pod来间接进入节点环境:

  1. 创建一个node-access-pod.yaml文件:
    apiVersion: v1
    kind: Pod
    metadata:
      name: node-access
    spec:
      containers:
      - name: node-access
        image: busybox
        command: ["sleep", "3600"]
        securityContext:
          privileged: true
        volumeMounts:
        - name: node-root
          mountPath: /host
      volumes:
      - name: node-root
        hostPath:
          path: /
      nodeName: <你的节点名称> # 替换成要访问的节点名
    
  2. 应用这个Pod:
    kubectl apply -f node-access-pod.yaml
    
  3. 进入Pod的shell:
    kubectl exec -it node-access -- sh
    
  4. 切换到节点的根文件系统:
    chroot /host
    
    这样就相当于进入了节点的环境,能执行各种节点操作。

额外提醒

  • 如果是EKS Fargate节点,那完全没法SSH登录,因为Fargate是无服务器节点,没有可登录的底层EC2实例
  • 所有操作都要确保你的IAM账号有对应的权限:比如用SSM需要SSM的会话权限,用EC2需要实例描述权限等

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:33:51