设为首页 收藏本站
查看: 635|回复: 0

[经验分享] GitLab关于SSH的使用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-1-10 17:37:13 | 显示全部楼层 |阅读模式
  SSH
  Git是分布式版本控制系统,这意味着您可以在本地工作,但您也可以将更改共享或“推送”到其他服务器。在将更改推送到GitLab服务器之前,您需要一个用于共享信息的安全通信通道。
  SSH协议提供此安全性,并允许您对GitLab远程服务器进行身份验证,而无需每次提供用户名或密码。
  有关SSH协议如何工作的更详细的解释,我们建议您阅读DigitalOcean的这本漂亮的教程。
  查找现有的SSH密钥对
  在生成新的SSH密钥对之前,检查您的系统是否已经在默认位置通过打开shell或Windows上的“命令提示符”运行以下命令:
  Windows命令提示符:
  type %userprofile%\.ssh\id_rsa.pub
  Windows / GNU / Linux / macOS / PowerShell上的Git Bash
  cat ~/.ssh/id_rsa.pub
  如果您看到一个字符串,ssh-rsa您已经有一个SSH密钥对,您可以跳过下一个部分的生成部分,并跳到副本到剪贴板步骤。如果您没有看到字符串或想要生成具有自定义名称的SSH密钥对继续下一步。
  注意:公共SSH密钥也可以命名如下:
  id_dsa.pub
  id_ecdsa.pub
  id_ed25519.pub
  生成一个新的SSH密钥对
  要生成新的SSH密钥对,请使用以下命令:
  Windows / GNU / Linux / macOS上的Git Bash
  ssh-keygen -t rsa -C "your.email@example.com" -b 4096
  视窗:
  或者在Windows上,您可以下载
  PuttyGen
  并按照本文档来生成SSH密钥对。
  接下来,系统将提示您输入文件路径以保存SSH密钥对。
  如果您还没有SSH密钥对,请按Enter键使用建议的路径。使用建议的路径通常允许您的SSH客户端自动使用SSH密钥对,而不需要额外的配置。
  如果你已经有了一个SSH密钥对建议的文件路径,则需要输入一个新的文件路径,并声明此SSH密钥对将在您使用什么主机.ssh/config文件,请参阅使用非默认的SSH密钥对路径工作
  的更多信息。
  输入文件路径后,系统将提示您输入密码以保护SSH密钥对。使用SSH密钥对的密码是最佳做法,但不是必需的,您可以按Enter键跳过创建密码。
  注意:
  如果要更改SSH密钥对的密码,可以使用
  ssh-keygen -p <keyname>。
  下一步是复制公共SSH密钥,因为我们将需要它。
  要将公共SSH密钥复制到剪贴板,请使用以下相应的代码:
  MacOS的:
  pbcopy < ~/.ssh/id_rsa.pub
  GNU / Linux(需要xclip包):
  xclip -sel clip < ~/.ssh/id_rsa.pub
  Windows命令行:
  type %userprofile%\.ssh\id_rsa.pub | clip
  Windows / Windows PowerShell上的Git Bash:
  cat ~/.ssh/id_rsa.pub | clip
  最后一步是将您的公共SSH密钥添加到GitLab。
  导航到“配置文件设置”中的“SSH密钥”选项卡。将您的密钥粘贴到“密钥”部分并给出相关的“标题”。使用可识别的标题,如“工作笔记本电脑 -  Windows 7”或“家庭MacBook Pro 15”。
  如果您手动复制公共SSH密钥,请确保您复制了从ssh-rsa您的电子邮件开始和结尾的整个密钥。
  或者,您可以通过运行ssh -T git@example.com
  (替换example.com为GitLab域)并验证是否收到Welcome to GitLab消息来测试您的设置。
  使用非默认SSH密钥对路径
  如果您为GitLab SSH密钥对使用非默认文件路径,则必须配置SSH客户端,以找到GitLab专用SSH密钥以连接到GitLab服务器(也许gitlab.com)。
  对于您当前的终端会话,您可以使用以下命令(替换other_id_rsa为您的私有SSH密钥):
  Windows / GNU / Linux / macOS上的Git Bash
  eval $(ssh-agent -s)
  ssh-add ~/.ssh/other_id_rsa
  要保留这些设置,您需要将它们保存到配置文件中。对于OpenSSH客户端,这在~/.ssh/config某些操作系统的文件中进行了配置。以下是使用自己的SSH密钥的两个主机配置示例:
  # GitLab.com server
  Host gitlab.com
  RSAAuthentication yes
  IdentityFile ~/.ssh/config/private-key-filename-01
  # Private GitLab server
  Host gitlab.company.com
  RSAAuthentication yes
  IdentityFile ~/.ssh/config/private-key-filename
  由于各种SSH客户端及其大量配置选项,对这些主题的进一步解释超出了本文档的范围。
  公共SSH密钥必须是唯一的,因为它们将绑定到您的帐户。您的SSH密钥是通过SSH推送代码时唯一的标识符。这就是为什么它需要唯一地映射到一个用户。
  部署密钥
  部署密钥允许只读或读写(如果启用)使用单个SSH密钥对访问一个或多个项目。
  这对于将存储库克隆到持续集成(CI)服务器非常有用。通过使用部署密钥,您不必设置虚拟用户帐户。
  如果您是项目主人或所有者,则可以在“Repository”部分的项目设置中添加部署密钥。指定新的部署密钥的标题并粘贴公共SSH密钥。之后,使用相应的专用SSH密钥的计算机具有对项目的只读或读写(如果启用)访问。
  您不能使用该表单两次添加相同的部署密钥。如果要将另一个项目添加到另一个项目中,请在“从可用项目部署密钥”列表中启用它。所有可访问的项目的所有部署密钥都可用。该项目的访问可以通过作为项目的直接成员,或通过组来实现。
  部署密钥可以在项目之间共享,您只需要将它们添加到每个项目中即可。
  应用
  蚀
  如何将您的SSH密钥添加到Eclipse:https : //wiki.eclipse.org/EGit/User_Guide#Eclipse_SSH_Configuration
  故障排除
  如果在Git克隆中,系统将提示您输入密码,例如git@gitlab.com's password:
  您的SSH设置有问题。
  确保您正确生成SSH密钥对,并将公共SSH密钥添加到您的GitLab配置文件中
  尝试使用ssh-agent本文档前面所述手动注册您的私钥
  尝试通过运行ssh -Tv git@example.com
  (替换example.com您的GitLab域)来调试连接

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433629-1-1.html 上篇帖子: 树莓派gitlab 下篇帖子: 一花一世界一叶一菩提
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表