[原创]SSH密钥访问Git仓库配置
SSH密钥并非为了解决拉取git仓库代码时,需要频繁输入密码的问题。
SSH是一种比较安全的协议,可以用来免去远程登录Linux等服务器时需要输入密码的繁琐过程。
命令:
ssh user@server-ip~$ ssh root@www.baidu.com
The authenticity of host 'www.baidu.com (111.111.111.111)' can't be established.
ECDSA key fingerprint is SHA256:dQG6QRYvoWfgkMVcCv5S1jO6nkbv7bUPmS8i5BvhX3g.
Are you sure you want to continue connecting (yes/no)?
Host key verification failed.
Git仓库也仅仅使用了以上同一原理。
如何生成SSH公私玥
ssh-keygen -t rsa -C 'mail-address@qq.com' -f ~/.ssh/filename
~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/admin/.ssh/id_rsa.
Your public key has been saved in /Users/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:CGcr7t8PaaQKFLYA7nLjqnBy4P2XNQ/C55Uh7E/bVgY admin@192.168.1.1
The key's randomart image is:
+---[RSA 2048]----+
|. |
|o |
|..o . o . |
|.o o + o o . E |
|o.= . + S . o . |
|o=.o . = B + o |
|o.=.. . X B o o |
|.= o.. = o + o |
|+ ooo ... . |
+----[SHA256]-----+
ssh-keygen参数
ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1][-N new_passphrase] [-C comment] [-f output_keyfile]ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]ssh-keygen -i [-m key_format] [-f input_keyfile]ssh-keygen -e [-m key_format] [-f input_keyfile]ssh-keygen -y [-f input_keyfile]ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]ssh-keygen -B [-f input_keyfile]ssh-keygen -D pkcs11ssh-keygen -F hostname [-f known_hosts_file] [-l]ssh-keygen -H [-f known_hosts_file]ssh-keygen -R hostname [-f known_hosts_file]ssh-keygen -r hostname [-f input_keyfile] [-g]ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines][-j start_line] [-K checkpt] [-W generator]ssh-keygen -s ca_key -I certificate_identity [-h] [-n principals][-O option] [-V validity_interval] [-z serial_number] file ...ssh-keygen -L [-f input_keyfile]ssh-keygen -Assh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]file ...ssh-keygen -Q -f krl_file file ...
-b bits指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。-C comment提供一个新注释
-f filename指定密钥文件名。
-t type指定要创建的密钥类型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2)
-T output_file测试 Diffie-Hellman group exchange 候选素数(由 -G 选项生成)的安全性。
配置多个SSH-Key
Git配置多个SSH-Key
背景
当有多个git账号时,比如:a. 一个gitlab,用于公司内部的工作开发;
b. 一个gitee,用于自己的开发学习;解决方法
生成一个公司专用的SSH-Key
$ ssh-keygen -t rsa -C 'tec@aliyun.com' -f ~/.ssh/tec@qq.com
生成一个gitee用的SSH-Key
$ ssh-keygen -t rsa -C 'candy@qq.com' -f ~/.ssh/candy@qq.com
在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写服务器的域名,IdentityFile指定私钥的路径)
# gitlab.aliyun.com
Host giteegitlab.aliyun.comHostName giteegitlab.aliyun.comIdentityFile ~/.ssh/tec@qq.com
# gitee
Host gitee.comHostName gitee.comIdentityFile ~/.ssh/candy@qq.com
4.用ssh命令分别测试$ ssh -T git@gitee.com
这里以gitee为例,成功的话会返回内容
~$ ssh -T git@gitee.com
Hi Tec! You've successfully authenticated, but GITEE.COM does not provide shell access.
~/.ssh/目录结构
~/.ssh/id_dsa该用户默认的 DSA 身份认证私钥(SSH-2)。此文件的权限应当至少限制为"600"。生成密钥的时候可以指定采用密语来加密该私钥(3DES)。ssh将在登录的时候读取这个文件。~/.ssh/id_dsa.pub该用户默认的 DSA 身份认证公钥(SSH-2)。此文件无需保密。此文件的内容应该添加到所有 DSA 目标主机的 ~/.ssh/authorized_keys 文件中。~/.ssh/id_rsa该用户默认的 RSA 身份认证私钥(SSH-2)。此文件的权限应当至少限制为"600"。生成密钥的时候可以指定采用密语来加密该私钥(3DES)。ssh将在登录的时候读取这个文件。~/.ssh/id_rsa.pub该用户默认的 RSA 身份认证公钥(SSH-2)。此文件无需保密。此文件的内容应该添加到所有 RSA 目标主机的 ~/.ssh/authorized_keys 文件中。
转载于:https://www.cnblogs.com/Candies/p/10051130.html
[原创]SSH密钥访问Git仓库配置相关推荐
- Git中如何利用生成SSH个人公钥访问git仓库
Git中如何利用生成SSH个人公钥访问git仓库方法(这里以coding平台为例): 1. 获取 SSH 协议地址 在项目的代码页面点击 SSH 切换到 SSH 协议, 获得访问地址, 请使用这个地址 ...
- 使用TortoiseGit,设置ssh方式连接git仓库
2.使用TortoiseGit,设置ssh方式连接git仓库 转自:https://www.cnblogs.com/zy20160429/p/7493693.html 开始设置之前的准备:建立项目文件 ...
- jgit查询远程仓库_通过 JGit 访问 Git 仓库
一个Git库仓在 JGit里面表现为Repository类,该类可以看作是这个库的句柄.通过Repository类实例,你可以创建JGit命令以及可以控制配置.参数等. 获取Git库仓的引用有很多种方 ...
- 使用TortoiseGit,设置ssh方式连接git仓库。
开始设置之前的准备:建立项目文件夹,初始化git仓库(右键 git init),右键打开 git bash ,git pull "仓库地址", 把网站上的仓库代码拉取下来. To ...
- Git 仓库配置不当 日产北美公司的源代码遭泄露
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士团队 日产北美公司所开发和使用的移动应用及内部工具的源代码遭泄露,原因是该公司的其中一个 Git 服务器配置不当. 瑞士软件工程师 Tillie ...
- JGit 通过SSH访问Git仓库报Auth fail
一.错误信息 错误日志信息: ssh://git@xxgitxx.com:XXX/project/projecrName.git: Auth fail 二. 解决方案 问题原因: ssh的版本过高导致 ...
- Windows Git 多用户多仓库配置
refer from : https://blog.csdn.net/yuanlaijike/article/details/95650625 https://www.jianshu.com/p/93 ...
- GitHub防黑客新措施:弃用账密验证Git操作,改用token或SSH密钥,今晚0点执行
萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 还在用账户+密码对GitHub上的Git操作进行身份验证? 赶紧整个token(令牌)或SSH密钥吧! 8月14号0点(8月13日9:00 ...
- Git之深入解析如何运行自己的Git仓库托管服务器
一.协议 了解了 Git 的基础使用流程和 Git 的分支管理之后,我们应该已经有办法使用 Git 来完成日常的工作.然而,为了使用 Git 协作功能,还需要有远程的 Git 仓库.尽管在技术上可以从 ...
最新文章
- JavaFX 2 GameTutorial第3部分
- google站长管理工具
- 车路协同 智能路侧决策系统总体架构及应用
- 计算机软件行业绩效,关于软件行业的绩效考核.doc
- 游戏外挂开发原理初探——植物大战僵尸内存挂为例
- 万物智能——百度世界2020”大会
- @Autowired 与@Resource选择
- 【Matlab三维路径规划】蚁群算法三维路径规划【含源码 179期】
- kubernetes高可用集群web页面部署
- sql server关系代数练习--进阶
- [ZT]狄马:老子与美国南北战争
- 评论:电信部门改革的步子能迈得大一些
- 哔哩哔哩 BV、AV互转 Java版
- 设计一套简单的计算机系统及其指令系统,【精品】计算机组成综合设计指导书...
- 力扣 P 344 反转字符串
- 端口被占用,简单快捷的解决方法
- linux cpu跑分软件,Geekbench 5 5.2.3 硬件性能跑分工具 特别版
- 统计数据资源整理:最全中国2010年人口普查数据Excel文件
- Qt Creator中如何为某项目单独配置默认编码方式
- [ 精华 ]专业网址收藏平台---经典网站收藏