ssh key 的建立 (Linux & Mac computer)
以下的步驟主要的流程在於:
1. 在 client 端建立金鑰(包含公鑰與私鑰)
2. 連到 server 將公鑰放上去 server 端, 並調整好檔案的權限
3. 調整 server 端 ssh 的設定內容, 讓使用者僅能透過 key 登入以增加安全性
4. 回到 client 透過私鑰進行連線
# 設定 ssh key
# 先在 client 的的電腦內進行以下設定
mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keygen
# 輸入相關訊息(基本上就是一直 enter)
# X 注意注意 X
# Enter passphrase (empty for no passphrase): 這個不要輸入, 不然每次使用金鑰都要輸入密碼
# 雖然安全性大增, 但是麻煩度也大增!
# 完成之後, 你到 ~/.ssh 目錄下面去看 就會看到兩個檔案
# id_rsa.pub (公鑰)
# id_rsa (私鑰)
# 接下來 ssh 進到 Server 並使用所要使用金鑰的帳號
vi ~/.ssh/authorized_keys # 這一個指令( ~/ )代表的是你現在登入的帳號所述的 home dir
# 將公鑰內容貼上儲存
# 進行檔案權限設定
# 把 ~/.ssh 目錄設成 700,authorized_keys 檔案設成 640
# 注意 ~/.ssh目錄 與 authorized_keys 檔案的權限是否為帳戶本人
# 接下來就可以用
ssh -i 私鑰位置 xxx@server_ip
# 進行連線而不用輸入密碼
# 如果要提高安全性, 可停用密碼認證的登入方式
vi /etc/ssh/sshd_config
# 修改以下內容
PasswordAuthentication no
PubkeyAuthentication yes
# 儲存後重新啟動 ssh 服務
service sshd restart
# or
service ssh restart
# ==== 以上已完成所有工作, 可以進行測試了 ====
# NOW you can try it!!!!
# << 方法 1 >> 指定 key file
ssh -i keyname newcute@127.0.0.1
# or
# << 方法 2 >> 如果你只有一組 key 的話就不用特別指定, 他會採用預設唯一的
ssh newcute@127.0.0.1
PS: 當然其實你的 key 也可以在 server 上面建立好再下載到 client 喔!!!!