使用后,AWS .pem文件在本地计算机上的哪里存储?

时间:2019-07-19 13:12:44

标签: amazon-ec2 pem

我用我的pem将ssh一次放入ec2。我注意到我现在可以通过SSH进入EC2,而无需再提供pem文件。所以我假设我的pem文件存储在本地设备的某个位置,并且SSH程序正在使用本地计算机上pem文件的已保存(缓存)版本,并通过ssh命令发送该文件以进行连接(否则发生连接)

如果是这种情况,有人知道保存的.pem文件在我的本地计算机上的什么位置吗?

1 个答案:

答案 0 :(得分:1)

可能发生的情况是,您的 PEM 文件正在加载到在后台运行的名为 ssh-agent 的服务中。 ssh-agent 充当您密钥的缓存,因此您无需每次都指定它们。

如果您在 ~/.ssh/config 处检查您的 ssh 配置(注意:MacOS),您可能会看到如下内容:

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

特别是 AddKeysToAgent 设置是导致您看到的行为的原因。如果您将该标志更改为 AddKeysToAgent no 并通过运行以下命令重新启动 ssh-agent:

ssh-agent -k
eval `ssh-agent`

您会注意到每次都需要指定 PEM 文件,否则您会收到权限被拒绝的错误。

另请注意,您可以通过添加新的 Host 部分来更改设置以仅影响您的服务器。