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! 的解決

相關文章
相關標籤/搜索