一、說明
開發過程中會用到很多第三方服務,使用這些服務時,大多要開註冊帳號,但為避免麻煩都會使用 google/facebook 等大型服務認証登入,軟體開源服務(如Github,Packagist)也可能互相串接,如果沒有做好安全防護,一個帳號被破,可能要死一大票,因此做好安全設定是必要的
安全設定如下:
- 可靠的密碼
- 限定連線IP
- SSH金鑰認證 (Authorized_keys)
- 兩步驟驗證
其中
- 密碼:建議最少8碼英數混合,含大小寫、符號更佳。
但過複雜容易搞死自己
- 限定ip:第三方服務大多無法限定連線ip。
- SSH金鑰認證:使用Linux、Git服務時推荐
- 二步驗証:強烈推荐,兩步驟驗證為透過異質管道取得驗証碼,且驗証碼通常有時限,可靠度高。
二、目標
- Google
- 兩步驟驗證
- GitLab
- SSH金鑰認證
- 兩步驟驗證
- GitHub
- SSH金鑰認證
- 兩步驟驗證
三、設定
3.1 Google
3.1.1 兩步驟驗證-啟用
前往Google,登入個人帳號後,點擊右上角LOGO,選「Google帳戶」
選擇「安全性」 => 「兩步驟驗證」
選擇「開始使用」
輸入密碼
使用手機驗証 (必需設定備援手機)
輸入傳至手機的驗証碼
選擇綁定的手機,及驗証方式
輸入驗証碼
綁定手機完成,啟用「兩步驟驗證」
啟用「兩步驟驗證」完成
3.1.2 兩步驟驗證-Authenticator
設定 Authenticator
安裝app: Authenticator
選擇手機系統
打開Authenticator,掃描QR Code
新增完成
輸入驗証碼
設定Authenticator完成
3.2 GitLab
3.2.1 SSH金鑰認證
產生SSH金錀
1
ssh-keygen -t ed25519 -C "your_email@example.com"
- 注意: 如果您使用的是不支持ed25519算法的舊系統,請使用以下指令
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
your_email@example.com
請替換為您的電子信箱,也可以不指定電子信箱- 產生ssh key時,如果有設定密碼,以後使用此ssh key時都要輸入密碼
- 在非共用電腦上使用的ssh key,密碼通常不設,自行保管好即可
- 會在家目錄中的.ssh目錄下產生二個檔案
- 私錀:
id_ed25519
- 公錀:
id_ed25519.pub
- 私錀:
- 家目錄位置
- Windows:
- C:\Users\你的帳號名\
- C:\使用者\你的帳號名\
- Linux:
- /home/你的帳號名/
- Windows:
- 注意: 如果您使用的是不支持ed25519算法的舊系統,請使用以下指令
複制
~/.ssh/id_ed25519.pub
內容SSH-Keys設定位置
SSH金錀設定檔
~/.ssh/config
1
2
3
4前往家目錄下的ssh設定資料夾
cd ~/.ssh/
編輯ssh config
vi config可以為多個主機設置配置使用的金錀
config內容如下:
1
2
3
4
5GitLab.com
Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_ed25519 # 金鑰如果使用預設路徑&檔名,可以不設定本行IdentityFile 指定ssh私鑰路徑,金鑰如果使用預設路徑&檔名,可以不設定本行
- Git SSH連線金鑰
- 使用指令ssh-keygen建立SSH認証金鑰對
id_ed25519
,id_ed25519.pub
id_ed25519
是私鑰,存放於本機端id_ed25519.pub
是公鑰,存放於Git伺服器- 設定config指定連線參數與使用金鑰檔
- 此時使用SSH連線到Git伺服器時,就不需再輸入帳號密碼,所以需要妥善保管好SSH私鑰
3.2.2 兩步驟驗證
登入GitLab,設定兩步驟驗證
3.3 GitHub
3.3.1 SSH金鑰認證
產生SSH金錀
1
ssh-keygen -t ed25519 -C "your_email@example.com"
- 注意: 如果您使用的是不支持ed25519算法的舊系統,請使用以下指令
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
your_email@example.com
請替換為您的電子信箱,也可以不指定電子信箱- 產生ssh key時,如果有設定密碼,以後使用此ssh key時都要輸入密碼
- 在非共用電腦上使用的ssh key,密碼通常不設,自行保管好即可
- 會在家目錄中的.ssh目錄下產生二個檔案
- 私錀:
id_ed25519
- 公錀:
id_ed25519.pub
- 私錀:
- 家目錄位置
- Windows:
- C:\Users\你的帳號名\
- C:\使用者\你的帳號名\
- Linux:
- /home/你的帳號名/
- Windows:
- 注意: 如果您使用的是不支持ed25519算法的舊系統,請使用以下指令
複制
~/.ssh/id_ed25519.pub
內容SSH-Keys設定位置
- [使用SSH 連接到GitHub (簡中版手冊)](https://help.github.com/cn/articles/ connecting-to-github-with-ssh)
- [Connecting to GitHub with SSH (英文版手冊)](https://help.github.com/en/articles/ connecting-to-github-with-ssh)
SSH金錀設定檔
~/.ssh/config
1
2
3
4前往家目錄下的ssh設定資料夾
cd ~/.ssh/
編輯ssh config
vi config可以為多個主機設置配置使用的金錀
config內容如下:
1
2
3
4
5Github.com
Host github.com
HostName github.com
User git
#IdentityFile ~/.ssh/id_ed25519 # 金鑰如果使用預設路徑&檔名,可以不設定本行IdentityFile 指定ssh私鑰路徑,金鑰如果使用預設路徑&檔名,可以不設定本行
- Git SSH連線金鑰
- 使用指令
ssh-keygen
建立SSH認証金鑰對id_ed25519
,id_ed25519.pub
id_ed25519
是私鑰,存放於本機端id_ed25519.pub
是公鑰,存放於Git伺服器- 設定config指定連線參數與使用金鑰檔
- 此時使用SSH連線到Git伺服器時,就不需再輸入帳號密碼,所以需要妥善保管好SSH私鑰
3.3.2 兩步驟驗證
登入GitHub,設定兩步驟驗證