服务器 ssh key 与 git 配置

简介: 程序员经常会说一句话: 面向 github 编程,github 对程序员的重要性可见一斑虽然 git 可以工作在 ssh 与 https 两种协议上,但为了安全性,更多时候会选择 ssh。如果采用 https,则每次 git push 都需要验证身份所以此篇文章的主要内容是:ssh keygen: 生成非对称加密中的 public-key 与 private-key,并把 publik-key 扔到 github 上。

程序员经常会说一句话: 面向 github 编程,github 对程序员的重要性可见一斑

虽然 git 可以工作在 sshhttps 两种协议上,但为了安全性,更多时候会选择 ssh

如果采用 https,则每次 git push 都需要验证身份

所以此篇文章的主要内容是:

  1. ssh keygen: 生成非对称加密中的 public-key 与 private-key,并把 publik-key 扔到 github 上。与上篇文章 配置服务器免登陆 一样的步骤

你对流程熟悉后,只需要一分钟便可以操作完成

Permission denied (publickey).

如果没有设置 public key 直接 git clone 的话,会有权限问题

可以使用 ssh -T 测试连通性

$ git clone git@github.com:vim/vim.git
Cloning into 'vim'...
Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

# 不过有一个更直接的命令去查看是否有权限
$ ssh -T git@github.com
Permission denied (publickey).

生成一个新的 ssh key

使用 ssh-keygen 可以生成配对的 id_rsaid_rsa.pub 文件

# 生成一个 ssh-key
# -t: 可选择 dsa | ecdsa | ed25519 | rsa | rsa1,代表加密方式
# -C: 注释,一般写自己的邮箱
$ ssh-keygen -t rsa -C "shanyue"

# 生成 id_rsa/id_rsa.pub: 配对的私钥与公钥
$ ls ~/.ssh
authorized_keys  config  id_rsa  id_rsa.pub  known_hosts

在 github 设置里新添一个 ssh key

在云服务器中复制 ~/.ssh/id_rsa.pub 中文件内容,并粘贴到 github 的配置中

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3SSSSSSSSSSSSSSSSSSSSSBAQDcM4aOo9qlrHOnh0+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHuM9cYmdKq5ZMfO0dQ5PB53nqZQ1YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc1w7bC0PD02M706ZdQm5M9Q9VFzLY0TK1nz19fsh2I2yuKwHJJeRxsFAUJKgrtNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN7nm6B/9erp5n4FDKJFxdnFWuhqqUwMzRa9rUfhOX1qJ1SYAWUryQ90rpxOwXt9Pfq0Y13VsWk3QQ8nyaEJzytEXG7OR9pf9zDQph4r4rpJbXCwNjXn/ThL shanyue

在 github 的 ssh keys 设置中:https://github.com/settings/keys 点击 New SSH key 添加刚才的key。

更多图文指引可以参照官方文档:https://help.github.com/cn/articles/adding-a-new-ssh-key-to-your-github-account

设置成功

使用 ssh -T 测试成功, 此时可以成功的面向 github 编程了

$ ssh -T git@github.com
Hi shfshanyue! You've successfully authenticated, but GitHub does not provide shell access.

$ git clone git@github.com:shfshanyue/vim-config.git
Cloning into 'vim-config'...
remote: Enumerating objects: 183, done.
remote: Total 183 (delta 0), reused 0 (delta 0), pack-reused 183
Receiving objects: 100% (183/183), 411.13 KiB | 55.00 KiB/s, done.
Resolving deltas: 100% (100/100), done.
目录
相关文章
|
存储 Linux 网络安全
Git 配置SSH,多个 Github 账号配置不同的SSH KEY(二)
Git 配置SSH,多个 Github 账号配置不同的SSH KEY
|
Shell 网络安全 开发工具
Git 配置SSH,多个 Github 账号配置不同的SSH KEY(一)
Git 配置SSH,多个 Github 账号配置不同的SSH KEY
|
安全 网络安全 开发工具
为什么Git需要配置ssh密钥,怎么配置?
如果不设置 ssh 公钥每次提交代码就要输入你的帐号密码。如果设置了公钥之后你的机器和 github或者gitee 通信的时候, github或者gitee可以通过公钥识别出你是可信赖用户,这样就不需要每次 git 和 github或者gitee 通信的时候都要输入密码了。
262 0
|
Shell 网络安全 开发工具
Git 中 SSH key 生成步骤
Git 中 SSH key 生成步骤
309 0
|
Unix Shell Linux
git的安装和配置SSH
git的安装和配置SSH
git的安装和配置SSH
|
存储 SQL 数据挖掘
mac 如何快速生成SSH key,配置github SSH公钥连接(解决git push 413问题)
mac 如何快速生成SSH key,配置github SSH公钥连接(解决git push 413问题)
807 0
mac 如何快速生成SSH key,配置github SSH公钥连接(解决git push 413问题)
|
网络安全 开发工具 git
Git配置多个SSH-Key
Git配置多个SSH-Key
125 0
|
Shell 网络安全 开发工具
Git SSH连接方式配置
如果使用ssh的方式管理,需要配置ssh key. 1、打开git bash命令窗口 2、生成ssh key
353 0
|
存储 网络安全 开发工具
Git如何生成多个ssh key添加到ssh-agent管理项目
生成新的ssh密钥 ssh-keygen -t rsa -b 4096 -C "your@example.com" 不要一直回车键,输入新的名称 id_rsa_new Enter a file in which to save the key (/Users/you/.
2901 0
Git如何生成多个ssh key添加到ssh-agent管理项目
|
Shell 网络安全 开发工具
Git ssh 配置及使用
Git ssh 配置及使用 前言:前几天在写博客 手把手教你用Hexo + github 搭建自己博客的时候,经常需要用到一些git操作,截了好多图,于是就想干脆整理成一系列的git 教程,总结如下 Git下载及配置环境变量 Git 命令行教程及实例教程 Git ssh 配置及使用 git ssh 配置多个账户 Git config 使用说明 Git 配置别名 —— 让命令变得更简单 闲聊 这篇教程是在电脑上已经安装好git的前提之上的,要进行以下配置,请先确保你的电脑已经安装好git。
2053 0