在 Windows 10 系统中,凭据管理器
为我们记录了 GitHub 的 Windows 凭据,再次从终端经过 GitHub 写数据时,可自动保持登录状态。但其他 OS 不一定有这样的功能,因此不便于频繁地提交版本。
为此,可以使用 SSH 登录的方式访问远程库。
不同于 SSH 登录,使用 HTTPS 的方式可以在多个 GitHub 帐号间管理仓库。
在本地 Home
目录生成 GitHub 公/私钥
使用命令ssh-keygen -t <KeyType> -C <Annotation|AccountEmailAddress>
在本地 Home 目录生成 GitHub 公/私钥。
使用生成过程提供的默认参数即可。
33891@LeapingQuantum MINGW64 ~
$ ssh-keygen -t rsa -C 3389167252@qq.com
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/33891/.ssh/id_rsa):
Created directory '/c/Users/33891/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/33891/.ssh/id_rsa
Your public key has been saved in /c/Users/33891/.ssh/id_rsa.pub
The key fingerprint is:
<...>
The key's randomart image is:
<...>
查看 .ssh
目录下的文件
.ssh
目录下生成了id_rsa
和id_rsa.pub
共 2 个文件。
使用cat
命令查看并复制id_rsa.pub
(公钥)的内容:
33891@LeapingQuantum MINGW64 ~
$ cd ~/.ssh/
33891@LeapingQuantum MINGW64 ~/.ssh
$ ll
total 5
-rw-r--r-- 1 33891 197609 2602 11月 1 20:38 id_rsa
-rw-r--r-- 1 33891 197609 571 11月 1 20:38 id_rsa.pub
33891@LeapingQuantum MINGW64 ~/.ssh
$ cat id_rsa.pub
<...>
在 GitHub 配置该 SSH 公钥
登录 GitHub 账户后,进入Settings
中的SSH and GPG keys
项执行配置:
更改在本地的远程库地址
使用git remote set-url <Alias4RemoteRepositoryAddress> <RemoteRepositoryAddress>
命令,将远程库地址由 HTTPS 方式切换为 SSH 方式:
33891@LeapingQuantum MINGW64 /d/GitWorkSpace/MyFirstProject_GitHub (master)
$ git remote -v
origin https://github.com/TullyMonster/MyFirstProject_GitHub.git (fetch)
origin https://github.com/TullyMonster/MyFirstProject_GitHub.git (push)
33891@LeapingQuantum MINGW64 /d/GitWorkSpace/MyFirstProject_GitHub (master)
$ git remote set-url origin git@github.com:TullyMonster/MyFirstProject_GitHub.git
33891@LeapingQuantum MINGW64 /d/GitWorkSpace/MyFirstProject_GitHub (master)
$ git remote -v
origin git@github.com:TullyMonster/MyFirstProject_GitHub.git (fetch)
origin git@github.com:TullyMonster/MyFirstProject_GitHub.git (push)
随后,即可使用 SSH 的方式免密读写 GitHub 的内容。