前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >新机器下git clone代码新思路

新机器下git clone代码新思路

作者头像
千往
发布2020-03-27 00:12:02
1.1K0
发布2020-03-27 00:12:02
举报

新机器下git clone代码新思路

背景

得到一台新的服务器,需要在这台机器上部署业务代码,常规做法就是

  1. 通过ssh-keygen生成密钥公钥
  2. 将公钥配置在gitlab上
  3. 通过git协议来clone代码

这三步骤中还涉及到首次访问gitlab,需要输入yes来确认,如下图:

image.png
image.png

如果不想人工干预,或者到时批量机器,后者docker中使用呢? 我个人之前的做法是引入expect命令了,流程还是没有变动的,只是在出现交互需要的时候,可以自动输入对应的指令,今天在看同事的jenkins job的时候发现了一个更方便的方案

方案

  1. 通过ssh-keyscan获取server的公钥,然后提前写入到known_hosts中,避免了首次访问server的确认
  2. 通过copy已经配置好的公钥密钥直接写入到新机器中

实际操作如下:

sudo mkdir ./ssh
sudo touch ./ssh/known_hosts && sudo chmod 777 ./ssh/known_hosts
sudo ssh-keyscan -t rsa gitlab.xxxx.com > ./ssh/known_hosts
sudo cp $已经在gitlab配置的密钥 ./ssh/id_rsa

这里需要注意的是权限问题,当你的~/.ssh目录的权限过于随意的话,git clone会如下提示:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0666 for '/root/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/root/.ssh/id_rsa": bad permissions

所以要注意改变.ssh目录的权限,一般是设置为400权限,chmod -R 400 ~/.ssh 明显这种方式比我之前的方式高级多了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新机器下git clone代码新思路
  • 背景
  • 方案
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档