本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SSH 连接到的设置步骤Amazon CodeCommitWindows 上的存储库
在连接到之前Amazon CodeCommit首次,必须完成一些初始配置步骤。设置计算机后,Amazon配置文件,您可以连接到 CodeCommit 存储库并将存储库克隆到您的计算机,这也称为创建本地存储库。如果您刚刚接触 Git,我们建议您查看我在哪里可以了解有关 Git 的更多信息?中的信息。
主题
第 1 步:CodeCommit 的初始配置
按照以下步骤设置 Amazon Web Services 账户、创建 IAM 用户并配置对 CodeCommit 的访问。
创建和配置 IAM 用于访问 CodeCommit 的 IAM 用户
转到创建 Amazon Web Services 账户http://aws.amazon.com
然后选择注册. 在您的 Amazon Web Services 账户中创建 IAM 用户或使用现有的 IAM 用户。确保您具有与该 IAM 用户关联的访问密钥 ID 和私有访问密钥。有关更多信息,请参阅 。在您的 Amazon Web Services 账户中创建 IAM 用户.
注意
CodeCommit 要求Amazon Key Management Service. 如果您使用现有的 IAM 用户,请确保没有向该用户附加明确拒绝的任何策略。Amazon KMSCodeCommit 所需的操作。有关更多信息,请参阅 Amazon KMS和加密。
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在 IAM 控制台的导航窗格中,选择用户,然后选择要配置 CodeCommit 访问的 IAM 用户。
在 Permissions 选项卡上,选择 Add Permissions。
-
在 Grant permissions (授予权限) 中,选择 Attach existing policies directly (直接附加现有策略)。
从策略列表中,选择AWSCodeCommitPowerUser或另一个用于 CodeCommit 访问的托管策略。有关更多信息,请参阅 Amazon适用于 CodeCommit 的托管策略。
选择要附加的策略后,选择要附加的策略。后续:审核以审核要附加到 IAM 用户的策略列表。如果列表正确,选择 Add permissions。
有关 CodeCommit 托管的策略以及与其他组和用户共享访问存储库的更多信息,请参阅共享存储库和Amazon CodeCommit 的身份验证和访问控制.
注意
如果要使用Amazon CLI使用 CodeCommit 的命令,请安装Amazon CLI. 有关更多信息,请参阅 命令行参考。
第 2 步:安装 Git
要处理 CodeCommit 存储库中的文件、提交和其他信息,必须在本地计算机上安装 Git。CodeCommit 支持 Git 1.7.9 及更高版本。Git 2.28 版支持为初始提交配置分支名称。我们建议使用最新版本的 Git。
要安装 Git,建议您访问诸如 Git 等网站Git 下载
注意
Git 是一个不断发展的平台,会定期进行更新。有时,功能上的更改可能会影响到 CodeCommit 使用的方式。如果遇到 Git 和 CodeCommit 的特定版本的问题,请参阅中的信息。故障排除.
如果您安装的 Git 版本不包含 Bash 仿真器(例如 Git Bash),请安装一个。配置 SSH 连接时,您将使用该仿真器而不是 Windows 命令行。
步骤 3: 为 Git 和 CodeCommit 设置公钥和私钥
为 Git 和 CodeCommit 设置公钥和私钥Windows 上的
-
打开 Bash 仿真器。
注意
您可能需要使用管理权限运行仿真器。
在仿真器中运行 ssh-keygen 命令,按照说明将文件保存到您的配置文件的 .ssh 目录。
例如:
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/
drive
/Users/user-name
/.ssh/id_rsa):Type a file name here, for example /c/Users/user-name/.ssh/codecommit_rsa
Enter passphrase (empty for no passphrase):<Type a passphrase, and then press Enter>
Enter same passphrase again:<Type the passphrase again, and then press Enter>
Your identification has been saved indrive
/Users/user-name
/.ssh/codecommit_rsa
. Your public key has been saved indrive
/Users/user-name
/.ssh/codecommit_rsa
.pub. The key fingerprint is: 45:63:d5:99:0e:99:73:50:5e:d4:b3:2d:86:4a:2c:14user-name
@client-name
The key's randomart image is: +--[ RSA 2048]----+ | E.+.o*.++| | .o .=.=o.| | . .. *. +| | ..o . +..| | So . . . | | . | | | | | | | +-----------------+这会生成:
-
codecommit_rsa
文件,该文件为私有密钥文件。 -
codecommit_rsa
.pub 文件,该文件为公有密钥文件。
提示
默认情况下,ssh-keygen生成 2048 位密钥。您可以使用-t 和-b 参数来指定密钥的类型和长度。如果你想要 rsa 格式的 4096 位密钥,你可以通过运行带有以下参数的命令来指定它:
ssh-keygen -t rsa -b 4096
有关 SSH 密钥所需的格式和长度的更多信息,请参阅将 IAM 与 CodeCommit 结合使用.
-
-
运行以下命令显示公有密钥文件 (
codecommit_rsa
.pub) 的值:cd .ssh notepad
codecommit_rsa
.pub复制文件内容,然后在不保存的情况下关闭记事本。该文件的内容类似于以下内容:
ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2 5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhc NMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw DgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE
user-name
@computer-name
-
登录 Amazon Web Services 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。
-
在 Bash 仿真器中,运行以下命令在 ~/.ssh 目录中创建一个配置文件,如果文件已存在,则编辑该文件:
notepad ~/.ssh/config
-
将以下行添加到该文件中,其中
User
的值是您之前复制的 SSH 密钥 ID,IdentityFile
的值是私有密钥文件的路径和名称:Host git-codecommit.*.amazonaws.com.cn User
APKAEIBAERJR2EXAMPLE
IdentityFile ~/.ssh/codecommit_rsa
注意
如果您给私有密钥文件起了一个
codecommit_rsa
以外的名称,请务必在此处使用自己指定的名称。您可以在多个 Amazon Web Services 账户中设置对仓库的 SSH 访问权限,有关更多信息,请参阅对 SSH 连接进行故障排除Amazon CodeCommit.
将文件另存为 config(不是 config.txt),然后关闭记事本。
重要
文件名必须为
config
,不带文件扩展名。否则,SSH 连接将失败。 -
运行下面的命令测试您的 SSH 配置:
ssh git-codecommit.cn-north-1.amazonaws.com.cn
系统会要求您确认连接,因为
git-codecommit.cn-north-1.amazonaws.com.cn
尚未包含在您的已知主机文件中。验证过程中会显示 CodeCommit 服务器指纹(11:7e:2d:74:9e:3b:94:a2:69:14:75:6f:5e:22:3b:b3
MD5 或IYUXxH2OpTDsyYMLIp+JY8CTLS4UX+ZC5JVZXPRaxc8
对于 SHA256)。注意
CodeCommit 服务器指纹对于每个人都是唯一Amazon Web Services 区域. 查看服务器的指纹Amazon Web Services 区域,请参阅的服务器指纹 CodeCommit.
确认连接后,您应会看到已将服务器添加到已知主机文件的确认消息和成功连接消息。如果看不到成功消息,请仔细检查您是否已保存
config
文件位于您为访问 CodeCommit 而配置的 IAM 用户的 ~/.ssh 目录中,config
文件没有文件扩展名(例如,它不能命名为 config.txt),并且您指定了正确的私钥文件(codecommit _rsa
,不是codecommit _rsa
.pub)。要解决问题,请运行
ssh
命令使用-v
参数。例如:ssh -v git-codecommit.cn-north-1.amazonaws.com.cn
有关可帮助您解决连接问题的信息,请参阅 对 SSH 连接进行故障排除Amazon CodeCommit。
第 4 步:Connect 到 CodeCommit 控制台并克隆存储库
如果管理员已将 CodeCommit 存储库的名称和连接详细信息发送给您,您可以跳过该步骤并克隆存储库。 直接。
连接到 CodeCommit 存储库
从打开 CodeCommit 控制台https://console.aws.amazon.com/codesuite/codecommit/home
. -
在区域选择器中,选择Amazon Web Services 区域创建存储库的位置。存储库特定于Amazon Web Services 区域. 有关更多信息,请参阅 地区和 Git 连接终端节点。
-
从列表中找到您要连接的存储库并选择此存储库。选择 Clone URL (克隆 URL),然后选择克隆或连接到存储库时要使用的协议。此时将复制克隆 URL。
如果您对 IAM 用户使用 Git 凭证或使用随附的凭证辅助程序,请复制 HTTPS URL。Amazon CLI.
如果您在本地计算机上使用 git-remote-codecommit 命令,请复制 HTTPS (GRC) URL。
如果您对 IAM 用户使用 SSH 公有密钥/私有 key pair,请复制 SSH URL。
注意
如果您看到欢迎使用页面而不是存储库列表,没有存储库与您的存储库关联到您的Amazon中的账户Amazon Web Services 区域在登录的位置。要创建存储库,请参阅创建Amazon CodeCommit存储库或按照入门 Git CodeCommit教程中的步骤进行操作。
-
在 Bash 模拟器中,使用您复制的 SSH URL 运行 git clone 命令以克隆存储库。该命令会在运行命令的目录的子目录中创建本地存储库。例如,克隆名为的存储库:
MyDemoRepo
到名为的本地回购my-deo-repo
在中国(北京)区域:git clone git-codecommit.cn-north-1.amazonaws.com.cn/v1/repos/MyDemoRepo my-demo-repo
或者,打开命令提示符,使用您上传到 IAM 的公有密钥的 URL 和 SSH 密钥 ID 运行git clone命令。这将在运行命令的目录的子目录中创建本地存储库。例如,克隆名为的存储库:
MyDemoRepo
到名为的本地回购my-deo-repo
:git clone ssh://
Your-SSH-Key-ID
@git-codecommit.cn-north-1.amazonaws.com.cn/v1/repos/MyDemoRepo my-demo-repo有关更多信息,请参阅通过克隆 CodeCommit 存储库来连接存储库和创建提交。
后续步骤
您已满足先决条件。按中的步骤操作。开始使用 CodeCommit 开始使用 CodeCommit。