Blog Details

Linux 作業系統 cutexyz > Blog > 學習 Linux > 新手村 > ssh key 的建立 (Linux & Mac computer)

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