Gitlab自动部署之三:Linux免密登陆

前言

公司前端大佬由于某些缘由离职了,走的比较匆忙,本身以前一直不多接触这方面的东西,一直都是只知其一;不知其二。这两天我一边学,一边动手搭建,同时记录整个搭建过程。前端

这是一系列文章,从搭建 Gitlab 到 安装、注册Gitlab-runner 再到两者结合去部署一个简单的项目,经过这几篇文章,你将学会如何在 Gitlab 上自动化打包部署本身的项目。git

系列文章一共有四篇,包括:github

  1. 如何在阿里云上安装Gitlab
  2. 安装GITLAB-RUNNER
  3. LINUX的免密登陆
  4. 使用GITLAB-RUNNER部署GITLAB的项目

因为本身一直作的是前端,对于Linux我不算熟练,若有错误的地方,请你们指出。windows

原文地址:Linux免密登陆bash

这篇是系列的第三篇,这一篇比较简单,咱们会弄一下Linux免密登陆,这个咱们在接下来的工做中会用到。
服务器

准备工做:

一台Linux服务器ssh

一台电脑(个人是windows 10系统)post

Step1 windows上生成 ssh key

生成ssh key

ssh-keygen -t rsa -C "youremail@example.com" # 这里替换为你的邮箱
复制代码

进入ssh目录

cd ~/.ssh
复制代码

查看全部文件

ls -a 
# 能够看到 id_rsa id_rsa.pub
复制代码

查看公钥内容(注意是.pub结尾的公钥文件)

cat id_rsa.pub
复制代码

复制公钥内容

ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX youremail@example.com
复制代码

Step2 Linux中写入上一步复制的公钥

登陆 Linux 服务器,执行命令

ssh-keygen -t rsa
复制代码

而后一路回车ui

而后进入 .ssh

cd ~/.ssh
复制代码

编辑 authorized_keys 文件

vi authorized_keys
复制代码

进入编辑后,按 I 进入修改,将咱们电脑上的公钥复制进去。this

修改完成后 依次按 Esc:wq,回车保存修改。

而后查看一下

cat authorized_keys
ssh-rsa XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX youremail@example.com
复制代码

看到已成功修改

登陆一下

ssh root@xx.xxx.xxx.xxx # 填你的服务器IP
复制代码

若是你的服务器是阿里云且重装过系统,可能会遇到如下报错

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:xi/sxkP1juN+73HCAhkSXRMCuN48zfMjDTUylonzAPo.
Please contact your system administrator.
Add correct host key in /c/Users/Wen Minghui/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /c/Users/Wen Minghui/.ssh/known_hosts:8
ECDSA host key for xx.xxx.xxx.xxx has changed and you have requested strict checking.
Host key verification failed.
复制代码

解决:使用命令清除所链接的服务器IP

ssh-keygen -R XX.XX.XX.XX 
复制代码

再次尝试链接

ssh root@xx.xxx.xxx.xxx
复制代码

能够看到登陆成功

Last login: Wed Apr 17 18:03:44 2019 from 14.154.30.158

Welcome to Alibaba Cloud Elastic Compute Service !
复制代码

若是是 Linux 对 Linux 的免密登陆也是差很少的,下一篇就使用 Gitlab-runner 结合免密登陆自动部署 Gitlab 上的项目。

参考

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 的解决

相关文章
相关标签/搜索