• gitlab ci/cd 中使用 sshkey


    gitlab ci/cd 中使用 ssh-key

    官方文档
    官方示例

    image: ubuntu
    
    before_script:
      ##
      ## Install ssh-agent if not already installed, it is required by Docker.
      ## (change apt-get to yum if you use an RPM-based image)
      ##
      - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'
    
      ##
      ## Run ssh-agent (inside the build environment)
      ##
      - eval $(ssh-agent -s)
    
      ##
      ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
      ## We're using tr to fix line endings which makes ed25519 keys work
      ## without extra base64 encoding.
      ## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
      ##
      - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
    
      ##
      ## Create the SSH directory and give it the right permissions
      ##
      - mkdir -p ~/.ssh
      - chmod 700 ~/.ssh
    
      ##
      ## Use ssh-keyscan to scan the keys of your private server. Replace gitlab.com
      ## with your own domain name. You can copy and repeat that command if you have
      ## more than one server to connect to.
      ##
      - ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
      - chmod 644 ~/.ssh/known_hosts
    
      ##
      ## Alternatively, assuming you created the SSH_SERVER_HOSTKEYS variable
      ## previously, uncomment the following two lines instead.
      ##
      #- echo "$SSH_SERVER_HOSTKEYS" > ~/.ssh/known_hosts'
      #- chmod 644 ~/.ssh/known_hosts
    
      ##
      ## You can optionally disable host key checking. Be aware that by adding that
      ## you are suspectible to man-in-the-middle attacks.
      ## WARNING: Use this only with the Docker executor, if you use it with shell
      ## you will overwrite your user's SSH config.
      ##
      #- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
    
      ##
      ## Optionally, if you will be using any Git commands, set the user name and
      ## email.
      ##
      - git config --global user.email "darth@empire.com"
      - git config --global user.name "Darth Vader"
    
    
    Test SSH:
      script:
      # try to connect to GitLab.com
      - ssh git@gitlab.com
    
      # try to clone yourself. A *PUBLIC* key paired to the SSH_PRIVATE_KEY was added as deploy key to this repository
      - git clone git@gitlab.com:gitlab-examples/ssh-private-key.git
    
    
  • 相关阅读:
    C++中的类模板详细讲述
    IE6
    Active Driectory 操作(转来放起来,不要丢了)
    The length of the query string for this request exceeds the configured maxQueryStringLength value
    试一下用word发布一篇文章
    各种分享api
    汇编语言程序设计 检测点1.1
    Windows下配置使用MemCached
    chrome
    ASP.NET 把集合导出为Excel的一个助手类
  • 原文地址:https://www.cnblogs.com/michaelcjl/p/15942743.html
Copyright © 2020-2023  润新知