`

aws ec2的key pairs的深入理解

阅读更多

ssh

提到ssh,用过linux的应该都不陌生。通俗地说,就是通过工具生成一个key pair,linux server端存储public key,client端保留一个private key。通过支持ssh协议的客户端工具(putty,tera term)或者命令行工具(ssh),login到server的时候,需要输入linux用户名,同时选择一个保存private key的文件。只有private key和public key匹配成功,才会login成功。

 

aws key pairs

aws里面的key pairs,其实就是ssh的public key和private key。只是aws可以通过console界面来生成和管理,向使用者屏蔽了ssh复杂的技术细节,这一点也是面向服务思想的一个体现吧。

 

在创建ec2实例的时候,会提示你create key pair,所以说key pair资源是用来绑定到ec2 instance上的。

同一个key pair可以绑定到多个ec2 instance。而且,一个instance内部的多个os用户也可以使用同一个key pair。虽然从安全角度,aws是不推荐这么共用key pair的。

 

不过,通过ec2的console,只能绑定一个key pair,如果每个ec2 os用户需要使用自己单独的key pair的话,该怎么办呢?别急,有好几种方法可以搞定。

 1〉最直接的方法

手工编辑~/.ssh/authorized_keys文件。把每个用户的public key配置信息追加进来。

 

2〉创建ec2 instance的时候,通过Advanced instance options中的User Data界面,配置cloud-init directive脚本。不过user data中的脚本只在创建instance的时候执行一次。

此外,除了cloud-init directive,User Data还支持shell script,如果使用aws cli创建instance的话,也可以指定本地的脚本文件,当然文件内容既可以是shell script,也可以是cloud-init directive。

 

其实,aws ec2和key pairs,说白了,就是传统linux os和ssh的一种面向服务的包装而已。

 

常用的一些小技巧

 

1〉通过private key,获取public key

 

ssh-keygen -y

Enter file in which the key is:my-private.pem

ssh-rsa xxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz

 

2>aws cli获取key pairs信息

>set http_proxy=myproxy.com:9999

>set https_proxy=myproxy.com:9999

>aws configure

  AWS Access Key ID [****************xxxx]:

  AWS Secret Access Key [****************yyyy]:

  Default region name [None]: ap-northeast-1

  Default output format [None]: json

 

查看所有的key pair信息

>aws ec2 describe-key-pairs

 

查看指定的key pair信息

>aws ec2 describe-key-pairs --key-name mykey

 

从返回结果中可以发现有一个KeyFingerprint(通过aws console查看也可以发现),这个fingerprint是针对public key生成的一个指纹信息,用于辅助校验key pair的安全性。一般在在第一次发起ssh连接的时候,server端会把这个fingerprint信息存储在client端,ssh客户端以后每次连接的时候会比较一下本地cache的fingerprint与server端返回的是否一致,如果不一致,会提醒用户核实情况再发起连接。

 

查看public key的fingerprint的方法

--client端

ssh-keygen -lf authorized_keys

 

--sshd daemon

ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

 

分享到:
评论

相关推荐

    Amazon AWS EC2申请使用教程

    Amazon AWS EC2申请使用教程 以下是Amazon AWS EC2申请使用教程的知识点总结: 一、注册Amazon AWS账户 * 访问http://aws.amazon.com/,点击"Sign Up Now"注册新用户 * 填写注册信息,包括姓名、email地址、密码...

    Java启动、暂停AWS EC2实例或修改实例类型的demo

    代码主要是启动、暂停AWS EC2实例或修改实例类型的demo。 注:执行main()之前先修改aws.accessKeyId和aws.secretAccessKey以及instance_id。

    aws-ec2-assign-elastic-ip, 自动分配弹性ip到 AWS EC2自动缩放组实例.zip

    aws-ec2-assign-elastic-ip, 自动分配弹性ip到 AWS EC2自动缩放组实例 aws-ec2-assign-elastic-ip 自动分配弹性ip到 AWS EC2实例。 在自动缩放组中,这可以能非常好,你需要通信ip第三方系统。应该在应该分配有弹性...

    AWS EC2服务器(中国)配置部署手册

    ### AWS EC2服务器(中国)配置部署手册 #### 一、AWS EC2基础知识与实例启动 **1.1 什么是Amazon EC2?** Amazon Elastic Compute Cloud (简称Amazon EC2)是一种可提供安全且可调整的计算容量的网络服务。它是构建...

    AWS EC2 API

    aws ec2 的API安装包,Linux环境使用,详细操作查看AWS官方帮助文档

    AWS ec2 instance deep dive.pdf

    本篇文档是关于AWS EC2实例深入探讨的资料,详细地解释了EC2实例平台、虚拟化技术,以及实例类型的使用,以帮助用户更好地理解和利用EC2实例。 知识点一:EC2实例平台和虚拟化技术基础 EC2实例平台是基于虚拟化技术...

    在 AWS EC2 上安装和配置 Grafana 并集成 MySQL 数据库的指南

    在 AWS EC2 上安装和配置 Grafana 并集成 MySQL 数据库是一个常见的云监控和数据分析任务。Grafana 是一个开源的度量分析和可视化套件,而 MySQL 是一个广泛使用的开源关系型数据库管理系统。以下是对整个过程的详细...

    aws-ec2-scheduler:定期启动和关闭 AWS EC2 实例的调度程序

    ec2-调度程序定期启动和关闭 AWS EC2 实例的调度程序安装如果您全局安装了 composer,只需运行 composer install否则从获取作曲家配置将 config/settings.yml.dist 文件复制到 config/settings.yml 并设置aws_key 、...

    AWS-EC2 实例对比

    AWS EC2 实例配置和价格对比

    AWS EC2平台成本和选型优化概述.pdf

    AWS EC2(Elastic Compute Cloud)是亚马逊网络服务(Amazon Web Services)提供的一个核心产品,它允许用户在云端运行计算实例。本概述聚焦于在AWS EC2平台上进行成本优化和选型策略,这对于任何使用AWS服务的企业...

    aws创建ec2的脚本代码

    aws用户

    PyPI 官网下载 | cdk_ec2_key_pair-1.0.1-py3-none-any.whl

    总的来说,`cdk_ec2_key_pair`是AWS CDK生态系统中的一个重要组件,它为Python开发者提供了便捷的接口,以便在构建云基础设施时更好地管理和使用EC2 Key Pairs。通过从PyPI下载并安装这个库,开发者可以无缝地将其...

    亚马逊AWS EC2 windows实例用户指南

    Amazon Elastic Compute Cloud (EC2) 是一项Web服务,提供规模可调的云服务器托管服务,让开发人员能轻易地使用web级计算亚马逊AWS EC2 windows实例用户指南

    Python库 | aws-cdk.aws-ec2-1.22.0.tar.gz

    《Python库aws-cdk.aws-ec2-1.22.0:构建和管理AWS EC2资源的利器》 在当今的云计算世界中,Amazon Web Services(AWS)是领先的云服务提供商之一,而Python作为一门易学易用的编程语言,被广泛用于各种开发任务,...

    aws-ec2-assign-elastic-ip:自动将弹性IP分配给AWS EC2 Auto Scaling Group实例

    AWS-EC2-分配弹性IP 自动将弹性IP分配给AWS EC2实例。 如果需要将外部IP与第三方系统进行通信,... usage: aws-ec2-assign-elastic-ip [-h] [--version] [--region REGION] [--access-key ACCESS_KEY] [--secret-key S

    AWS EC2的Nitro系统解决方案.pdf

    8. **简化管理**:由于Nitro系统简化了虚拟化层,客户可以更容易地管理和监控他们的EC2实例,而无需深入理解复杂的虚拟化技术。 综上所述,AWS EC2的Nitro系统是云托管领域的一项创新,它通过优化硬件和软件设计,...

    aws-ec2-access:关于AWS EC2 Access的研究

    实例连接器和实例之间的连接器,以及实例AWS EC2(没有SSH的所有外部版本)。 最新的博客文章:TOBECOMPLETED 使用率 Tous ces模块可以使用avec Terraform。 注释avec Terraform 0.13.4主要声明兼容版本的antcé...

    基于 Amazon AWS EC2 部署 Ghost 博客内含源码以及说明书可以自己运行复现.zip

    在本压缩包中,我们主要探讨的是如何使用 Amazon AWS Elastic Compute Cloud (EC2) 服务来部署一个 Ghost 博客。Ghost 是一个流行的开源博客平台,以其简洁的设计和强大的内容创作工具而受到许多博主的喜爱。Amazon ...

    AWS EC2计算服务发展概述.pptx

    AWS EC2计算服务发展概述.pptx

    PyPI 官网下载 | aws-cdk.aws-ec2-1.32.2.tar.gz

    标题中的“PyPI 官网下载 | aws-cdk.aws-ec2-1.32.2.tar.gz”表明这是一个从Python Package Index(PyPI)官方源下载的软件包,名为`aws-cdk.aws-ec2-1.32.2`,并且其格式是tar.gz压缩文件。PyPI是Python社区广泛...

Global site tag (gtag.js) - Google Analytics