Github 免密码提交之SSH
关于 SSH
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。
使用 SSH 协议可以连接远程服务器和服务并向它们验证。 利用 SSH 密钥可以连接 GitHub,而无需在每次访问时都提供用户名和个人访问令牌。
检查现有 SSH 密钥
在生成 SSH 密钥之前,您可以检查是否有任何现有的 SSH 密钥。
- 打开 终端
- 输入
ls -al ~/.ssh
以查看是否存在现有 SSH 密钥:1
ls -al ~/.ssh
- 检查目录列表以查看是否已经有 SSH 公钥。 默认情况下,公钥的文件名是以下之一
- id_rsa.pub
- id_ecdsa.pub
- id_ed25519.pub
生成 SSH 密钥
如果未存在 SSH 密钥,可主动生成 SSH 密钥。
- 打开 终端
- 粘贴下面的文本(替换为您的 GitHub 电子邮件地址)
1
ssh-keygen -t ed25519 -C "your_email@example.com"
- 提示您“Enter a file in which to save the key(输入要保存密钥的文件)”时,按 Enter 键。 这将接受默认文件位置。
1
Enter a file in which to save the key (/c/Users/you/.ssh/id_ed25519):[Press enter]
- 在提示时输入安全密码
1
2Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
新增 SSH 密钥到 GitHub 帐户
在新增 SSH 密钥到 GitHub 帐户后,您可以重新配置任何本地仓库使用 SSH。
- 将 SSH 公钥复制到剪贴板
1
clip < ~/.ssh/id_ed25519.pub
提示:如果 clip 不可用,可找到隐藏的 .ssh 文件夹,在常用的文本编辑器中打开该文件,并将其复制到剪贴板。
- 在 Github 右上角,单击您的个人资料照片,然后单击 Settings(设置)。
- 在用户设置侧边栏中,单击 SSH and GPG keys(SSH 和 GPG 密钥)。
- 单击 New SSH key(新 SSH 密钥)或 Add SSH key(添加 SSH 密钥)。
- 将密钥粘贴到 “Key”(密钥)字段, Title 部分可填写你的设备标识(如 My PC)便于管理。
测试 SSH 连接
打开终端输入一下内容:
1
ssh -T git@github.com
当你在终端看到一下消息则说明已成功
1
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
验证生成的消息包含您的用户名。 如果收到“权限被拒绝”消息,请参阅“错误: 权限被拒绝(公钥) ”。
如果上面一切顺利的话,自己所属的该设备再提交代码时就不会再要求输入邮箱密码信息了。
文章参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 解夏!
评论