生成ssh key 並管理server 或 vps中的docker

文章是針對macos 做法

1. 生成key

ssh-keygen -t rsa -b 4096 -C "your-email@example.com"

生成時可設定密碼短語加密,但用了後,每次使用這個key ssh server時都要再一次輸入密碼短語,但這樣相對安全,即使你這個文件被流出,別人也無法用來直接登入你的server

2.找到對應的位置,再執行 pbcopy

pbcopy < ~/.ssh/id_rsa.pub

3. 登入server/vps 後把自己的key放入去

把第2步 pbcopy獲取到的一大段內容,取代下面的 your-public-key-content 不用懷疑,是很長的,很大段,開頭是 ssh-rsa 而結尾是你的電郵

echo "your-public-key-content" >> ~/.ssh/authorized_keys

這個步驟可做很多次,比如你有3台電腦,你可在~/.ssh/authorized_keys 同時保存3台電腦的public-key, echo "your-public-key-content" >> ~/.ssh/authorized_keys 這句只會把內容放到 ~/.ssh/authorized_keys 的最後面,而不是取代原本的內容

4. 測試登入

ssh -i ~/.ssh/key_name your-username@your-server-ip

key_name是你建立時所填的,你可以去 /.ssh/ ls 看一下 your-username 如果沒有,一般可用root

5. Docker部分

列出所有docker

docker ps

我個人習慣是把docker name設定較短的,假設是名為php8

docker exec -it php8 /bin/sh

這樣就能進入名為 php8 的docker

如果你想用/bin/bash 需另外安裝,我自己一般小型的docker 都是用/bin/sh