前言
公司前端大佬因為某些原因離職了,走的比較匆忙,自己之前一直很少接觸這方面的東西,一直都是一知半解。這兩天我一邊學,一邊動手搭建,同時記錄整個搭建過程。
這是一系列文章,從搭建 Gitlab 到 安裝、註冊Gitlab-runner 再到二者結合去部署一個簡單的專案,通過這幾篇文章,你將學會如何在 Gitlab 上自動化打包部署自己的專案。
系列文章一共有四篇,包括:
由於自己一直做的是前端,對於Linux我不算熟練,如有錯誤的地方,請大家指出。
原文地址:Linux免密登入
這篇是系列的第三篇,這一篇比較簡單,我們會弄一下Linux免密登入,這個我們在接下來的工作中會用到。
準備工作:
一臺Linux伺服器
一臺電腦(我的是windows 10系統)
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
複製程式碼
然後一路回車
然後進入 .ssh
cd ~/.ssh
複製程式碼
編輯 authorized_keys 檔案
vi authorized_keys
複製程式碼
進入編輯後,按 I
進入修改,將我們電腦上的公鑰複製進去。
修改完成後 依次按 Esc
、:
、w
、q
,回車儲存修改。
然後檢視一下
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 !
複製程式碼