# HW7 ### 建立新使用者 開啟虛擬機,進入 root,並輸入`useradd 使用者名稱`。 接著輸入`passwd 使用者名稱`以更改使用者密碼以及解鎖使用者,需輸入兩次密碼,第二次為確認密碼。 建立完成。 ### 建立金鑰 輸入 `ssh-keygen -m PEM -t rsa -b 4096 -C "帳號名稱@server的IP位置"`以建立金鑰。(附註:此處不單純只打`ssh-keygen`是因為之後要將key轉為`.ppk`檔時會無法轉檔。) 接下來的建立過程皆設為預設,直接 Enter 建立完成。 ![](https://i.imgur.com/wPkn02f.png) ### 複製公開金鑰到遠端 Linux 伺服器 先登入 root 以取得權限。 輸入`su`並輸入 root 密碼。 ![](https://i.imgur.com/CWjKNeu.png) 輸入`mv .ssh/id_rsa.pub .ssh/authorized_keys`將公開金鑰複製到遠端 Linux 伺服器。 ![](https://i.imgur.com/PBq6Dw4.png) ### 取得 Private Key 為了實現私密金鑰登入,要將存在 Linux 中的檔案複製到 Windows 進行處理。 開啟 WinSCP,主機名稱輸入 server 的 IP 位置,使用者名稱及密碼為你的帳號名稱及密碼,完成輸入後登入。 ![](https://i.imgur.com/9mvtcl9.png) 左方介面為 Windows 端的檔案總管,右方介面為 Linux 端的檔案總管。 Linux端進入`/home/使用者名稱/.ssh`資料夾中,找到`id_rsa`檔案(進入資料夾的過程中有可能有檔案或資料夾被隱藏起來,若有被隱藏起來,視窗右下角會顯示有多少檔案或資料夾被隱藏起來,點選此處即可顯示被隱藏的檔案或資料夾)。 找到`id_rsa`檔案之後,直接將檔拖拽至左方 Windows 檔案總管處,你選定要儲存此檔案的資料夾中,此範例使用桌面資料夾。 ![](https://i.imgur.com/RORF7zA.png) ### 實現私密金鑰登入 #### 1.直接使用 Windows 的命令提示字元登入 將`id_rsa`檔案移至`C:\Users\使用者\.ssh` 資料夾中 (`known_hosts`檔案會在之後的步驟中自動被加入)。 ![](https://i.imgur.com/73NNgzI.png) 開啟命令提示字元。 輸入`ssh 帳號名稱@server的IP位置` 直接登入,輸入 yes。 成功登入。 ![](https://i.imgur.com/f9UQbta.png) #### 2.使用 puTTY 登入 必須將`id_rsa`檔案轉成可以使用的`.ppk`檔。 開啟 puTTYgen,點選上方工具列 Conversions -> Import Key。 ![](https://i.imgur.com/u4EPGJr.png) 選擇上一步驟的`id_rsa`檔案。 ![](https://i.imgur.com/MrQf5Pl.png) 點選 Save Private Key 並設定自己想要的檔名(一定要`.ppk`為副檔名)並選擇想要儲存的位置。 ![](https://i.imgur.com/GJMbN5j.png) ![](https://i.imgur.com/LxqWOF2.png) 開啟 puTTY 後,進入左方 Connections -> SSH -> Auth 中,點選 Browse 選擇剛剛轉好檔的金鑰。 ![](https://i.imgur.com/12G9SrC.png) 回到 Session,Host Name 輸入`帳號名稱@server的IP位置`。 ![](https://i.imgur.com/Y45WgrZ.png) 登入成功。 ![](https://i.imgur.com/tCUv4bJ.png)