文档章节

git使用ssh秘钥方式工作

1713716445
 1713716445
发布于 01/28 14:35
字数 443
阅读 0
收藏 0

生成的秘钥可以同时在osc和GitHub上同时使用

  • Generating a new SSH key

    • 填写邮箱
      	 ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      
    • 填写秘钥文件名称
      Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
      
    • 填写密码
      Enter passphrase (empty for no passphrase): [Type a passphrase]
      Enter same passphrase again: [Type passphrase again]
      
  • Adding your SSH key to the ssh-agent

    • Ensure the ssh-agent is running:
      eval $(ssh-agent -s)
      
      • Add your SSH private key to the ssh-agent
      ssh-add ~/.ssh/<私有秘钥文件>
      
  • Add the SSH key to your GitHub account.

    • 复制公有秘钥到GitHub上
    	clip < ~/.ssh/秘钥文件.pub
    
  • 解决Windows下使用github需要每次都要ssh-add的问题

在 .ssh 目录下创建一个 config 文本文件,每个账号配置一个Host节点,主要配置项说明:

Host         # 主机别名
HostName     # 服务器真实地址
IdentityFile # 私钥文件路径
PreferredAuthentications # 认证方式
User         # 用户名

config的内容

# ~/.ssh/config 配置多个git的ssh-key
# 第一个默认的SSH Key
Host github.com
    HostName github.com
    IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa
    PreferredAuthentications publickey

# 第二个SSH Key
Host gitee.com
    HostName gitee.com
    IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa
    PreferredAuthentications publickey
  • 只对当前窗口有效

将下面的配置复制粘贴到git的bash.bashrc文件中

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env
  • 终端测试SSH Key

通过终端测试SSH Key是否生效,分别输入以下命令:

ssh -T git@github.com
ssh -T git@gitee.com

© 著作权归作者所有

上一篇: rabbit安装
下一篇: mysql 时间格式化
1713716445
粉丝 2
博文 157
码字总数 37335
作品 0
静安
程序员
私信 提问
利用阿里云搭建私有Git服务器

服务器系统:Centos 6 (查看centos版本命令:) 客户端系统:Windows 7 一、服务器端安装Git ==通常centos上使用yum源安装的git版本过低== 1. 检查系统上是否已经安装git,若已有则卸载 //...

凹凹凸曼
2018/10/10
0
0
Git认证方式https和ssh的原理及比较

常见的代码托管平台GitHub、GitLab和BitBucket等,基本都会使用Git作为版本控制工具。平台一般都提供两种认证方式https和ssh。了解该过程能够更加自由的配置和使用,本文就来简单聊一下这两种...

alpha_panda
2018/12/20
0
0
是否必须每次添加ssh-add

首先我得说和 ssh 相关的一切机制的确比较复杂,很容易让人晕头转向,如果你想彻底掌握这个知识体系就必须系统的学习一下相关的知识。所以 first thing first,我推荐一本书给你,不妨抽时间...

Surjur
2015/07/17
4.8K
0
用gogs搭建属于自己的git网站

如果你对docker的操作不太了解, 建议先阅读 从零搭建docker私有仓库 gogs是一款极易搭建的自助 Git 服务, 掌握了它, 我们就可以搭建自己的git服务站点 gogs官网: https://gogs.io/, github中...

木子昭
2018/07/22
0
0
Windows配置多git账号

1 前言 如果我们在公司有一个GitHub账号,有一个私人的GitHub账号,那平时在家工作时,就需要在电脑配置两个GitHub账号才行,上教程 2 过程 2-1 生成秘钥 在某个文件夹打开gitbash窗口,执行...

GoldLeaf
2018/01/11
148
0

没有更多内容

加载失败,请刷新页面

加载更多

【0911】linux软件包安装和卸载

【0911】linux软件包安装和卸载 一、安装软件包的三种方法 1、rpm工具:与win中的exe安装包类似,红帽子公司包管理系统 2、yum工具:属于一种用python开发的工具,支持自动的安装依赖的包 3、...

飞翔的竹蜻蜓
28分钟前
3
0
【外行学IT】手机网页自适应之rem和viewport

在写手机网页时,对于像素的问题会非常困惑,初学者很多时候会因为那么一个小点的问题解决不了,或者无法理解透彻就放弃了学习。 我在学习写手机网页时也困惑了许久,出现过下面的问题: 图片...

前端老手
40分钟前
5
0
三、Java设计模式之单一职责原则

定义:不要存在多于一个导致类变更的原因。 一个类、接口、方法只负责一项职责 优点:降低类的复杂度、提高类的可读性,提高系统的可维护性、降低变更引起的风险

东风破2019
47分钟前
4
0
搭建高可用MongoDB集群(分片)

搭建高可用MongoDB集群(分片) KaliArch关注1人评论28269人阅读2017-12-04 21:57:41 MongoDB基础请参考:https://blog.51cto.com/kaliarch/2044423 MongoDB(replica set)请参考:https:/...

linjin200
今天
6
0
Pandas DataFrame创建方法大全

Pandas是Python的数据分析利器,DataFrame是Pandas进行数据分析的基本结构,可以把DataFrame视为一个二维数据表,每一行都表示一个数据记录。本文将介绍创建Pandas DataFrame的6种方法。 创建...

汇智网教程
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部