-
2022-04-14 22:26:45
-
检查是否已经存在SSH keys
ls -al ~/.ssh
如果已经存在,则结果会列出目录文件列表,则进入第3步;
. .. id_rsa id_rsa.pub
如果不存在,则进入第2步
# ls: /Users/hony/.ssh: No such file or directory
-
生成SSH Keys
在终端中输入以下命令,填写自己的邮箱
$ ssh-keygen -t rsa -b 4096 -C "*your_email@example.com*" # Generating public/private rsa key pair.
在接下来的步骤中,按回车键:
Enter file in which to save the key (/Users/hony/.ssh/id_rsa):
如果不想设置密码,则继续回车:
Enter passphrase (empty for no passphrase): Enter same passphrase again:
当看到下面的图形时,就可以了
The key's randomart image is: +---[RSA 4096]----+ | . . . Eoo| | o = *.++| | + B +*o| | + o B += o| | o S O o. +.| | . = . .o*| | . =O| | oO| | .B| +----[SHA256]-----+
-
添加SSH Key到ssh-agent
-
确保 ssh-agent 是可用的
$ eval "$(ssh-agent -s)" # Agent pid 2806
-
添加SSH Key 到 ssh-agent
# id_rsa是SSH key对应的文件的名字,如果要使用一个已经存在的key添加到ssh-agent的话,替换id_rsa名字即可 $ ssh-add ~/.ssh/id_rsa # Identity added: ...
-
-
把 SSH Key添加到远程仓库的账号上
-
复制
SSH Key
到粘贴板$ pbcopy < ~/.ssh/id_rsa.pub
-
登录 github或者bitbucket等远程仓库添加SSH Key即可。
-
不同的 SSH 密钥类型和大小
ssh-keygen 命令允许使用不同算法的秘钥类型和大小。此处列出常见的SSH秘钥类型并解释每种类型的特征:
- RSA:一种得到广泛支持的算法,RSA是许多情况下的最佳选择。需要创建一个2048或4096位的秘钥,前者足够,后者是理想的。
- ECDSA: 一种比较新的算法,ECDSA提供与RSA类似的安全级别,但秘钥更短,从而提高了性能。支持的秘钥大小为256、384和521位。
- Ed25519: 一种新兴的算法,Ed25519改进了以前秘钥类型的安全性和性能。Apple本身在某些情况下使用这种身份验证方法,包括在某些设备之间的通信期间。秘钥只有256位,同时仍提供高级别的安全性。
ssh-keygen 常用的命令
- -t : 使用此命令输入您希望使用的算法。RSA、ECDSA和Ed25519 是常见且可行的选择。
- -b:通过输入使用的位数来指定秘钥的长度。在输入 -b 命令之前,请检查所选算法的要求,因为不同的算法支持的位数不同。
- -p: 可以使用-p 命令更改秘钥的密码。只需要在ssh-keygen 中包含 -p, 终端就会请求文件位置,输入相关秘钥的路径并在出现提示时创建新密码。
- -f: 使用-f 命令将 ssh-keygen 定向到特定文件位置。
- -C: 命令为秘钥添加注释,这是一种有用的标记方法。
更多相关内容 -
-
Git:本地生成SSH KEY,并关联到git仓库
2020-12-03 20:25:12GitLab配置ssh key ... ...但是网上很少找到如何用git客户端生成ssh key,然后配置在gitlab,我当时在做的时候苦于摸索,后来终于找到了解决方案,那么本文,我们就来聊一聊如何本地git客户端生成sshGitLab配置ssh key
转载自:https://www.cnblogs.com/hafiz/p/8146324.html
一、背景
当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码。但是网上很少找到如何用git客户端生成ssh key,然后配置在gitlab,我当时在做的时候苦于摸索,后来终于找到了解决方案,那么本文,我们就来聊一聊如何本地git客户端生成ssh key,然后配置在gitlab里,而后使用ssh协议进行提交和拉取git远程仓库的代码。
二、解决方案
-
打开本地git bash,使用如下命令生成ssh公钥和私钥对
ssh-keygen -t rsa -C 'xxx@xxx.com'
然后一路回车(-C 参数是你的邮箱地址) -
然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容
-
打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮
4. 到此就完成了gitlab配置ssh key的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了
5. 再试一下拉取代码和提交代码,应该就不需要输入密码了
三、本地配置多个ssh key
大多数时候,我们的机器上会有很多的git host,比如公司gitlab、github、oschina等,那我们就需要在本地配置多个ssh key,使得不同的host能使用不同的ssh key ,做法如下(以公司gitlab和github为例):
-
为公司生成一对秘钥ssh key
ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa
-
为github生成一对秘钥ssh key
ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa
-
在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:
# gitlab Host gitlab.com HostName gitlab.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_id-rsa # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_id-rsa # 配置文件参数 # Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件 # HostName : 要登录主机的主机名 # User : 登录名 # IdentityFile : 指明上面User对应的identityFile路径
- 按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub
-
OK,大功告成,再次执行git命令验证是不是已经不需要再次验证权限了。
-
再次查看~/..ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件
三、总结
我们为什么要使用ssh协议呢?因为ssh更加安全,然后更加方便,比如我们公司的gitlab由http协议换成了https协议,那么如果你是使用http协议管理代码,那么需要修改所有的项目中的git地址变成https,这会把我们给逼疯的!但是如果我们一开始就是用ssh协议,这不需要任何的修改,简直不能再爽一点了。
为了方便大家在移动端也能看到我分享的博文,现已注册个人微信公众号,扫描下方二维码即可,欢迎大家关注,有时间会及时分享相关技术博文。
感谢您花时间阅读此篇文章,如果您觉得这篇文章你学到了东西也是为了犒劳下博主的码字不易不妨打赏一下吧,让博主能喝上一杯咖啡,在此谢过了!
如果您觉得阅读本文对您有帮助,请点一下左下角“推荐”按钮,您的“推荐”将是我最大的写作动力!另外您也可以选择【关注我】,可以很方便找到我!
本文版权归作者和博客园共有,来源网址:http://www.cnblogs.com/hafiz 欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利! -
-
本地使用Git生成SSH Key以及Gitlab配置
2020-12-22 17:02:31安装git命令行apt install git 开通gitlab(开通需要gitlab管理员)账号后,本地Git仓库和...认证之前,则先使用Git生成SSH Key。 1 Git生成秘钥 1.1确认本地秘钥 SSH秘钥默认储存在账户的主目录下的~/.ssh目录...安装Git客户端:详见http://www.cnblogs.com/xiuxingzhe/p/9300905.html
安装git命令行 apt install git
开通gitlab(开通需要gitlab管理员)账号后,本地Git仓库和gitlab仓库仍然不能传输项目,原因是要通过SSH加密才能传输,所以需要让gitlab认证本地的SSH Key
认证之前,则先使用Git生成SSH Key。
1 Git生成秘钥
1.1 确认本地秘钥
SSH 秘钥默认储存在账户的主目录下的 ~/.ssh 目录
如:find -name .ssh
/root/.ssh
/home/www/.ssh查看是否包含id_rsa和id_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有.pub 后缀的文件就是公钥,另一个文件则是密钥。
如果没有这两个文件,甚至.ssh目录也没有,则需要用ssh-keygen 来创建
1.2 生成秘钥信息
- 在.ssh 目录下右键打开Git Bash(.ssh目录不存在,则在任一目录下操作,或者手动创建该目录)
- 生成秘钥:ssh-keygen -t rsa -C "your_email@youremail.com" ,直接Enter就行。直接Enter,然后会提示输入密码(可输可不输),直接Enter
说明:命令中的email,就是gitlab中的账号,需要保持一致
执行完成之后,在.ssh 目录下就会生成秘钥文件(没有.ssh目录的会自动生成,手动创建的则不会重复生成)
2 gitlab秘钥添加
笔者当前所在公司使用的gitlab作为代码管理仓库平台,所以下面是gitlab为例说明如何进行秘钥添加,
2.1登录gitlab
使用申请的gitlab账号登录;确保登录成功
2.2 添加秘钥
- 在搜索框中搜索:SSH Keys
点击 Add SSH Keys
拷贝公钥文件(即1.2中生成的id_rsa.pub)中的信息到key输入框中,title可以随便起,见名知意即可。然后点击Add Keys
至此,git及gitlab相关配置已经全部完成,接下来可以使用git从gitlab上克隆代码来测试相关安装和配置的正确性
3 Git示例
注意:克隆代码之前确保有相关的项目代码权限(master、developer、reporter),如无权限,请求项目具有master权限的同事帮忙分配权限
输入命令:git clone git@gitlab.baofoo.net:clearing/verify-center.git
首次拉取代码时,需要确认秘钥信息,输入yes即可
-
如何生成SSH key?
2021-07-29 16:04:16如何生成SSH key?一、检查是否存在SSH key二、生成SSH key三、将ssh key添加到GitHub中 项目应用:SSH key提供了一种与GitHub通信的方式,通过这种方式,能够在不输入密码的情况下,将GitHub作为自己的remote端...如何生成SSH key?
项目应用:SSH key提供了一种与GitHub通信的方式,通过这种方式,能够在不输入密码的情况下,将GitHub作为自己的remote端服务器,进行版本控制。
一、检查是否存在SSH key
在控制台输入:
ls ~/.ssh
如果提示没有该目录,或者该目录下没有公私钥文件,说明还未生成过密钥。
如果有文件id_rsa.pub 或 id_dsa.pub,则直接进入步骤3将SSH key添加到GitHub中,否则进入第二步生成SSH key。
二、生成SSH key
在控制台输入:
git config --global user.name "你的用户名" git config --global user.email "你的邮箱"
查看已配置信息:
git config --global --list
执行下列命令生成密钥:
ssh-keygen -t rsa -C "你的邮箱"
中途需要进行3次或4次确认:
- 秘钥的保存路径,不更改则直接回车
- 是否覆盖上一次生成的密钥(若之前已经生成过)
- 密码(若不设置则直接回车)
- 确认密码
建议路径使用默认配置,密码不设置。这样每次git push等操作都不需要输入密码,比较方便。
若是用默认路径则在~/.ssh路径下将得到两个文件:id_rsa和id_rsa.pub。
打开~/.ssh/id_rsa.pub文件,复制其中的内容。
三、将ssh key添加到GitHub中
1、打开GitHub,点击右上角个人头像中的Settings
2、将ssh key添加到GitHub:其中第三步输入框中粘贴刚刚复制的~/.ssh/id_rsa.pub文件中的内容。
配置好后点击Add key,这样SSH key就配置完成了。 -
Mac本地生成SSH Key 的方法
2016-04-10 22:08:201. 查看秘钥是否存在 打开终端查看是否已经存在SSH密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除, 也...你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,因为这个Key仅仅用于简 -
本地生成ssh密钥
2022-04-04 09:10:27最近做小程序需要ssh密钥,有点疑惑大家需要加$,但是我加了就报错,这边是我生成ssh密钥的心得 注意空格,-c后面没有空格我这边加$是报错的 虽然我不知道原理,但是我这样不加他就对了 以下是我的正确格式: ... -
本地多个ssh key的生成和配置
2022-01-29 17:54:39当本地已经有ssh key时,想再次生成别的平台的ssh key,执行方式如下: 创建用户信息 -----这一步和之前生成的步骤一样 配置用户信息 git config --global user.name "XXXXX" //配置你的账户名字 git config --... -
在本地创建ssh key
2020-06-01 10:46:41直接点回车,说明会在默认文件id_rsa上生成ssh key。 然后系统要求输入密码,直接按回车表示不设密码 重复密码时也是直接回车,之后提示你shh key已经生成成功。 这时你就会在用户下的.ssh目录里找到id_rsa和id_... -
如何生成本地ssh key并使用这个key连接GitHub
2017-10-11 23:02:59本文假设你已经安装Git的客户端shell软件Git Bash,如何使用Git Bash创建ssh的key并连接GitHub,请看以下操作步骤: ..."xxx@gmail.com" //生成本地ssh key输入本地ssh key的密码 //这个密码用于本地提交项 -
windows下手动生成SSH key
2018-07-02 11:36:45说明 1. windows环境 ...请切换到自己git安装目录下的usr\bin下(我的安装目录是:D:\Program Files\Git\usr\bin),并键入命令:ssh-keygen -t rsa -C “邮箱名”,如图 按enter键后,会先告诉你生成的文... -
Git生成SSH Key
2022-04-17 16:08:41SSH登录步骤:需要本地电脑生成一段密钥,然后去代码托管网站(Gitee、GitHub、Gitlab)中个人账号的SSH公钥管理添加这段密钥,这台电脑就可以拉代码了,下面介绍详细步骤: 需要下载Git Bash工具,右击桌面,进入到... -
windows下生成ssh key详解
2018-10-24 09:13:14为了便于访问github,要生成ssh公钥,这样就不用每一次访问github都要输入用户名和密码。 二、生成条件: 请在github上先注册账号,本地安装git。 三、生成步骤: 1、本地成功安装了git后,单击鼠标右键,选择... -
Git 生成SSH Key
2018-07-27 18:50:43$ ssh-keygen -t rsa -C "1240847112@example.com" 然后回车 3,打开 Github-settings-SSH and GPG keys 4,点击App Key 5,创建仓库 在Repository name填入testgit,其他保持... -
git 生成 ssh key
2021-12-24 11:08:47git 生成sshkey -
Mac下如何生成ssh key
2018-08-21 11:22:35git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置。简单的说,Git - 版本控制工具;Github是一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等;... -
如何生成SSH key
2019-08-26 14:52:24输入下面的命令,如果有文件id_rsa.pub或id_dsa.pub,则直接进入步骤3将SSH key添加到GitHub中,否则进入第二步生成SSH key $ ls -al ~/.ssh total 56 drwxr-xr-x 1 Administrator 197121 0 八月 26 10:52 ./ ... -
Windows下生成 github ssh key教程和配置Jenkins Git公钥
2020-04-29 18:25:08一、ssh: 什么是ssh:ssh是Secure Shell(安全外壳协议)的缩写,建立在应用层和传输层基础上的安全协议。为了便于访问github,要生成ssh公钥,...三、生成ssh key步骤: 1.本地成功安装了git后,单击鼠标右键,... -
windows快速生成ssh key
2021-08-17 15:00:551、本地成功安装了git后,单击鼠标右键,选择Git Bush here,打开git bush 2、 键入命令:ssh-keygen -t rsa -C "email@email.com,然后连续回车(即密码为空) 3、复制Users\用户\.ssh\id_rsa.pub文本内容,添加至... -
使用GitLab生成SSH Key(Mac)
2021-04-12 19:51:34第二步:生成/设置SSH Key 第三步:将SSH Key添加到GitLab中 GitLab简介: 公司代码放在gitlab上,想要拉去代码,需要先生成了一个SSH Key上传至gitlab。 步骤: 第一步:检查是否已经存在SSH Key 打开电脑终端... -
如何生成SSH KEY及查看SSH KEY
2021-05-10 14:06:31如何生成SSH KEY及查看SSH KEY 只适用于Mac和windows下的Git Bash操作界面。 一、检查本地是否有SSH Key存在 在终端输入 ls -al ~/.ssh 如果终端输出的是: No such file or directory 那么就说明本地没有SSH key ... -
利用Git生成本机SSH Key并添加到GitHub中
2018-01-28 22:01:37本地仓库和github之间是通过SSH加密传输的,所以需要先到github中添加你本机的SSH Key 进行认证。 1、在桌面打开git命令窗口 2、输入“ssh-keygen -t rsa -C youremail@example.com” 回车确认... -
手把手教你如何生成SSH key
2020-09-11 16:58:20一、 检查本地是否存在SSH key 输入 ls -al ~/.ssh 命令,如果发现有 id_rsa 和 id_rsa.pub ,则说明本地已存在SSH key了,可以选择直接跳到第 三 步。如果没有的话,就接着走流程。 ps:我这里使用的 git 的 git-... -
windows下生成ssh key
2019-04-29 09:54:29为了便于访问github,要生成ssh公钥,这样就不用每一次访问github都要输入用户名和密码。 注意:不同电脑登录同一个Git账户是ssh校验失败的问题 二、生成条件: 请在git上先注册账号,本地安装git。 把生成的key... -
【Git】如何生成SSH key
2020-03-18 10:43:56如果有文件 id_rsa 和 id_rsa.pub ,则直接进入步骤3将SSH key添加到GitHub中,否则进入第二步生成SSH key。 2、生成新的ssh key 在命令行中输入: ssh-keygen -t rsa -C "email@example.com" 默认会在(/home_... -
git 本地生成SSH公钥 命令行
2019-07-15 17:05:47你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key cat ~/.ssh/id_rsa.pub # ssh-... -
git本地仓库生成SSH密钥
2021-04-19 11:17:594、如果未出现上诉的文字,就不要继续往下操作,否则生成新的ssh key 命令:ssh-keygen -t rsa -C “你注册的git邮箱” 过程中会有三次停顿,第一次是输入文件名字,第二次是输入密码,第三次是再次输入密码确认(无... -
git生成ssh key及本地解决多个ssh key的问题
2016-06-16 14:06:25ssh是一种网络协议,用于计算机之间的...生成ssh key步骤 这里以配置github的ssh key为例: 1. 配置git用户名和邮箱 git config user.name "用户名"git config user.email "邮箱" 在config后加上 --global -
Mac 生成SSH Key并配置到GitLab(单个)
2018-10-26 20:43:37git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置。简单的说,Git - 版本控制工具;Github是一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等;...