对于我们的生产系统,我们正在运行Amazon EC2实例。 这位负责的同事(比如称他为Joe)离开了公司。
现在我们希望ssh
访问我们的实例。
他给我们留下了他的私钥和公钥文件。
id_dsa
id_dsa.pub
在后端我们可以看到,键“joe”被分配给runnning实例,ssh访问由以下命令完成:
ssh -i "joe.pem" ec2-user@11.22.11.123
我们如何生成.pem
文件?或者更一般地说,为了获得ssh访问需要做些什么?
我们需要亚马逊的证书吗?如果是这样,怎么样?
答案 0 :(得分:9)
用于创建New Pem键:
转到EC2 Dashboard
>
Key Pair
> Create Key Pair
这将为您下载pem key
文件。
对于SSH访问:
~/.ssh/auth*
文件中。之后,您可以使用ssh ubuntu@ip
ssh -i "file.pem" ubuntu@ip
答案 1 :(得分:8)
访问新实例
密钥对用于在使用亚马逊提供的标准亚马逊机器映像(AMI)时授予对新启动的Amazon EC2实例的访问权限。 (来自其他地方的AMI可能有自己的登录方法。)
启动实例时,会指定密钥对。然后,EC2服务将密钥对的公共一半复制到/home/ec2-user.ssh/authorized_keys
(路径可能因AMI选择而异)。
然后,要连接到实例,请使用密钥对的私有部分,就像您显示的那样:
ssh -i joe.pem ec2-user@11.22.11.123
(ec2-user
登录用于Amazon Linux实例.Ubuntu使用ubuntu
作为用户名。)
要使用的密钥对的名称显示在管理控制台中EC2实例的信息部分中:
访问实例后,建议更改正在使用的密钥对,创建新用户并通常获取实例安全性的所有权。遵循组织的标准安全实践,而不是依赖实例启动时使用的密钥对。
访问现有实例
对于您的特定情况,实例已经启动,授予访问权限的ssh
密钥对可能(或可能不是!)是首次启动实例时使用的密钥对。
您还提到您可以看到密钥joe
与实例关联。在这种情况下,您应该尝试查找joe.pem
并登录该实例。如果找不到该文件,请尝试使用id_dsa
文件。
如果这一切都不起作用,那么问题就是两件事之一:
最重要的是,如果没有密钥对,则无法ssh
进入实例。
恢复访问权限
最糟糕的情况是,如果你不能ssh
到实例,你仍然可以解决问题。一般步骤是:
.ssh/authorized_keys
文件您现在应该可以ssh
进入实例。
一些参考文献:
答案 2 :(得分:0)