-
在本地计算机上的终端中,运行 ssh-keygen 命令,并按照说明将文件保存到您的配置文件的 .ssh 目录中。
其中windows用户可以使用git bash。 -
这会生成:
-
codecommit_rsa
文件,该文件为私有密钥文件。 -
codecommit_rsa
.pub 文件,该文件为公有密钥文件。
提示
默认情况下,ssh-keygen生成 2048 位密钥。您可以使用-t 和-b 参数来指定密钥的类型和长度。如果你想要 rsa 格式的 4096 位密钥,你可以通过运行带有以下参数的命令来指定它:
ssh-keygen -t rsa -b 4096
有关 SSH 密钥所需的格式和长度的更多信息,请参阅将 IAM 与 CodeCommit 结合使用.
-
-
运行以下命令显示公有密钥文件 (
codecommit_rsa
.pub) 的值:cat ~/.ssh/codecommit_rsa.pub
复制该值。其内容类似于以下所示:
ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2 5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhc NMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw DgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@ip-192-0-2-137
-
登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/。
注意
你可以直接查看和管理你的 CodeCommit 凭据我的安全凭证. 有关更多信息,请参阅 查看和管理凭证。
-
在 IAM 控制台的导航窗格中,选择用户,从用户列表中,选择您的 IAM 用户。
-
在用户详细信息页面上,选择 Security Credentials 选项卡,然后选择 Upload SSH public key。
-
将 SSH 公有密钥的内容粘贴到该字段中,然后选择 Upload SSH public key。
-
复制或保存 SSH Key ID 中的信息 (例如,
APKAEIBAERJR2EXAMPLE
)。注意
如果您上传了多个 SSH 密钥 ID,则按密钥 ID 的字母顺序(而不是按上传日期)列出密钥。请确保已复制与正确上传日期关联的密钥 ID。
-
在本地计算机上,使用文本编辑器在 ~/.ssh 目录中创建一个配置文件,然后向该文件中添加以下行,其中
User
的值是您之前复制的 SSH 密钥 ID:Host git-codecommit.*.amazonaws.com User APKAEIBAERJR2EXAMPLE IdentityFile ~/.ssh/codecommit_rsa
-
注意
如果您给私有密钥文件起了一个
codecommit_rsa
以外的名称,请务必在此处使用自己指定的名称。您可以在多个 Amazon Web Services 账户中设置对仓库的 SSH 访问权限,有关更多信息,请参阅对到 SSH 连接进行问题AWS CodeCommit.
将该文件命名为
config
并保存。 -
在终端中,运行下面的命令更改配置文件的权限:
chmod 600 config
-
运行下面的命令测试您的 SSH 配置:
ssh git-codecommit.us-east-2.amazonaws.com
系统会要求您确认连接,因为
git-codecommit.us-east-2.amazonaws.com
尚未包含在您的已知主机文件中。验证过程中会显示 CodeCommit 服务器指纹(a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e
对于 MD5 或3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ
对于 SHA256)。注意
CodeCommit 服务器指纹对于每个人都是唯一AWS 区域. 查看服务器的指纹AWS 区域,请参阅的服务器指纹 CodeCommit.
确认连接后,您应会看到已将服务器添加到已知主机文件的确认消息和成功连接消息。如果你没有看到成功消息,请检查你是否保存了
config
文件存储在为访问 CodeCommit 而配置的 IAM 用户的 ~/.ssh 目录中,并且指定了正确的私有密钥文件。如需获取帮助您排查问题的信息,请运行
ssh
命令使用-v
参数。例如:ssh -v git-codecommit.us-east-2.amazonaws.com
有关可帮助您解决连接问题的信息,请参阅 对到 SSH 连接进行问题AWS CodeCommit。