SSH-key 密钥 常用来管理我们的 Git 仓库, GitLab,GitHub 都是很常见的. 它可以避免我们重复的输入密码, 提高开发效率.
下面就来说一说, 如何管理多个 SSH-key, 下面我们以 GitLab 和 GitHub 作为示例:
查看 SSH 目录
开启命令行窗口, 查看是否存在~/.SSH 目录
$ cd ~/.SSH
如果不存在, 就新建一个. SSH 目录
$ mkdir ~/.SSH
后面讲到的 SSH-key 密钥文件 就会配置~/.SSH
生成多个 SSH-key 密钥
下面我们将生成 GitHub 的 SSH-key 密钥 和 GitLab 的 SSH-key 密钥
进入~/.SSH 目录
$ cd ~/.SSH
1. 生成 GitHub 的 SSH-key 密钥
- $ SSH-keygen -t rsa -C "对应的邮箱地址"
- Generating public/private rsa key pair.
- Enter file in which to save the key (/Users/herrylo/.SSH/id_rsa): id_github_rsa
- Enter passphrase (empty for no passphrase): Enter
- same passphrase again:
- Your identification has been saved in /home/schacon/.SSH/id_github_rsa.
- Your public key has been saved in /home/schacon/.SSH/id_github_rsa.pub.
- The key fingerprint is:
- d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local
在第二行市别直接 Enter 回车哦! 那样会在 ~/.SSH 目录下直接生成默认的密钥文件 id_rsa, 我们需要管理自己的 SSH 密钥文件, 需要修改文件名, 文件名可以自己定, 不过最好是简单明了. 如
Enter file in which to save the key (/Users/herrylo/.SSH/id_rsa): id_github_rsa
当然后面的就可以直接回车了!
2. 生成 GitLab 的 SSH-key 密钥
- $ SSH-keygen -t rsa -C "对应的邮箱地址"
- Generating public/private rsa key pair.
- Enter file in which to save the key (/Users/herrylo/.SSH/id_rsa): id_gitlab_rsa
- Enter passphrase (empty for no passphrase):
- Enter same passphrase again:
- Your identification has been saved in /home/schacon/.SSH/id_gitlab_rsa.
- Your public key has been saved in /home/schacon/.SSH/id_gitlab_rsa.pub.
- The key fingerprint is:
- d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local
同上:
Enter file in which to save the key (/Users/herrylo/.SSH/id_rsa): id_gitlab_rsa
3. 查看生成的 SSH-key 密钥文件目录
$ ls ~/.SSH
上面的 id_rsa_github.pub,id_rsa_gitlab.pub 文件即是 GitHub 与 GitLab 需要的公钥文件
vi 查看文件内容, 复制文件内容到 GitLab 和 GitHub 的 SSH 配置中心, 添加 SSH key
- $ vi id_rsa_github.pub
- $ vi id_rsa_gitlab.pub
SSH 密钥配置基本完成, 上面我们生成了两个密钥, 将他们添加到了 GitLab 和 GitHub 的 SSH 配置中心. 现在还需要对两个 SSH 密钥进行管理.
管理 多个 SSH 密钥
config 文件是管理多个 SSH key 密钥的配置文件, 下面我们需要修改 config 文件
使用 vi 编辑查看 config 文件, 文件修改成如下配置即可:
在 config 文件添加上图中的配置, 记得根据自己的文件位置和用户名, GitLab 地址修改. 好的, 下面我们来试试 GitHub 是否可以连接成功.
好的, 连接成功哦!!, 大功告成!
当然 SSH 不只有这个用处, 还可以连接远程服务器哦.
SSH 访问远程服务器
还可以使用使用 SSH 访问远程服务器, 因为它足够安全, 原理我就不多说了, 在后面我会将参考文档给大家, 感兴趣的可以研究哦. 下面需要修改的依然是 config 配置文件
$ vi config
上面以我的 VPS 搬瓦工为例:
Host 是自定义的, 可以修改, 而其中的 HostName 和 Port 是你的服务器 IP 和端口号
配置完之后保存退出, 在命令行窗口输入:
$ SSH VPS
随后会提示输入服务器访问密码, 输入正确, 即可访问远程服务器. 当然这是在 Mac 系统中, 如果是 Windows 系统可以使用 Xshell 访问.
好了, 以上就是平时我使用到的 SSH 了, 管理 Git 的 sshkey, 访问远程服务器.
欢迎留言, 如果有不对的地方希望可以指正!!
来源: https://juejin.im/post/5c063c4ee51d451ded182458