我可以将我的 .ssh/config 文件配置为使用我的 aws pem 文件作为所有 ec2 连接的默认文件吗

Can I configure my .ssh/config file to use my aws pem file as default for all ec2 connections

目前我的.ssg/config有

Host git-codecommit.*.amazonaws.com
  User APKAS2GIPODK72AAAAAA
  IdentityFile ~/.ssh/codecommit_rsa

Host github.com
  User durrantm
  IdentityFile ~/.ssh/id_rsa

我相信我可以为我想通过 ssh 连接到的特定 EC2 机器添加一个条目。

有没有办法为我的所有 EC2 ssh 连接默认创建 pem 文件(当我使用 awscli 时,为我的帐户用户配置),这样我就不必 -i "abc.pem" 每个 ec2 连接?

是的,您可以在您的 EC2 实例上启动一个 ssh-agent 并让它加载您的私钥。然后,每当您尝试通过 SSH 连接到提供 public 密钥身份验证的任何实例时,ssh-agent 将尝试使用加载的私钥对您进行身份验证。这个article描述得很好。

eval $(ssh-agent) && ssh-add ~/.ssh/*.pem

是的,如果您通过 public DNS 连接到实例,则可以。 将此添加到您的 SSH 配置:

Host ec2-*.compute.amazonaws.com
    IdentityFile abc.pem

这与 Host git-codecommit.*.amazonaws.com

中的相同