如何使用 ~/.ssh/config 文件为 GitHub 设置基于 SSH 密钥的身份验证?

Sus*_*mar 13 ssh git openssh

我正在尝试为 GitHub 设置我的 SSH 密钥,并为此创建了一个新的 SSH 密钥。我已经设法设置了 SSH 密钥,但我希望保留这些设置并将它们保存在~/.ssh/config不可用的配置文件中。我在哪里可以添加这个关键路径来保留配置?

pa4*_*080 22

这是 ?如何为 GitHub 设置基于 SSH 密钥的身份验证的简短手册。

1.安装openssh-client,如果它尚未安装,当然git

sudo apt update && sudo apt install -y openssh-client git
Run Code Online (Sandbox Code Playgroud)

2.创建用户的 ssh 目录和一个子目录,用于存储您的专用 GitHub ssh 密钥:

mkdir -p ~/.ssh/github
chmod 700 ~/.ssh ~/.ssh/github
Run Code Online (Sandbox Code Playgroud)

3.生成SSH密钥(输出密钥会有八进制权限600):

ssh-keygen -t rsa -b 4096 -C 'your@email.com' -f ~/.ssh/github/id_rsa -q -N ''
Run Code Online (Sandbox Code Playgroud)
  • -q- 沉默 ssh-keygen;-N ''- 空(没有)密码,你可以根据需要分配一个。

4.复制文件内容id_rsa.pub,使用如下命令输出:

cat ~/.ssh/github/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

5.转到您的 GitHub 帐户。从右上角的下拉菜单中选择您的个人资料。单击编辑配置文件按钮,然后选择SSH 和 GPG 密钥。单击新建 SSH 密钥按钮。为Title 输入一些 meningful并将其内容粘贴到Key字段中。然后单击添加 SSH 密钥按钮。~/.ssh/github/id_rsa.pub

在此处输入图片说明

6.创建文件,如果它不存在:~/.ssh/config

touch ~/.ssh/config
chmod 600 ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)

编辑config文件并为新的 SSH 密钥添加以下条目:

Host github.com
    IdentityFile ~/.ssh/github/id_rsa
Run Code Online (Sandbox Code Playgroud)

7.测试设置。使用以下命令:

ssh -T git@github.com
Run Code Online (Sandbox Code Playgroud)

关于问题 -您确定要继续连接吗(是/否)?- 回答。如果一切顺利,您应该会收到这样的问候消息:

Hi pa4080! You've successfully authenticated, ...
Run Code Online (Sandbox Code Playgroud)

如何使用 SSH 密钥。

1.如果您已经通过 HTTPS 克隆了存储库,请使用以下命令:

git clone https://github.com/username/repository-name.git
git clone git://github.com/username/repository-name
Run Code Online (Sandbox Code Playgroud)

进入存储库的目录并执行下一个命令以允许通过 SSH 工作:

git remote set-url origin git@github.com:username/repository-name.git
Run Code Online (Sandbox Code Playgroud)

2.通过 SSH 直接克隆一个仓库:

git clone git@github.com:username/repository-name.git
Run Code Online (Sandbox Code Playgroud)

3.此外,如果您使用的是VSC,则此设置不会出现问题。对于已经克隆的存储库,只需使用打开文件夹选项,所有 VSC Git 功能都将起作用。

  • 嗨,@tomasantunes,你是对的。我已经更新了答案。不久前的菜单是不同的:) (2认同)