很多用人PuTTY與樹梅派建立SSH連線,用它來派送命令;PuTTY是一個Windows平台開源的免費軟體,十分小巧可愛,先去PuTTY吧!
若要回憶控端樹梅派的教學:遠端連入Raspberry Pi:使用SSH及VNC—被控端設定

在下載頁面找【Alternative binary file】有免安裝的版本
如▼圖,下載後找個資料夾歸類好建個捷徑!

*要安裝版找底下的【Package files】
*依據官網說明[1],64-bit的版本加密連線會更快,但也會多吃點記憶體
基本用法如
▼圖,打開PuTTY直接在 找Host Name (or IP adress)-> 輸入樹梅派IP ->Open

▼初次登入,會跳出PieTTY Security Alert安全警告,點Accept繼續

輸入帳號、密碼後

PuTTY儲存設定
將樹梅派的登入訊息儲存方便管理,參考▼圖
[紅色註記] Host Name (or IP adress)輸入-> “使用者名稱”@”IP地址”->在Savesd Sessions輸入存檔名稱->Save
[藍色註記] 可以在藍色框裡看到你存檔的主機設定,之後打開PuTTY就只剩輸入密碼了

*什麼!你連輸入密碼都懶,跟我一樣,那就要繼續看下去了~
*PuTTY免密碼登入
我們要利用「非對稱金鑰加密」取代帳號和密碼的身分驗證,它是一種密碼學演算法,需要兩個金鑰「公鑰」和「私鑰」,公鑰用作加密,私鑰則用作解密;使用公鑰把明文加密後所得的密文,只能用相對應的私鑰才能解密並得到原本的明文。
公鑰(Public Key):公鑰檔案放在伺服器中,我是把伺服器想像【房子】,公鑰就是一個門鎖,所有人都可以看到門鎖,方便你記住Public這個詞,但需要有鑰匙才能打開門鎖
私鑰(Private Key):私鑰檔案放在客戶端電腦,我把私鑰想成【鑰匙】,持有該鑰匙才可以進入該伺服器,私鑰能拷貝用在不同客戶端,但要小心保管絕不外流,不然你的伺服器就變成肉機了
理論講完,該開工了!
*1.產生公鑰及私鑰對
輸入: ssh-keygen #產生一組SSH公鑰和私鑰

*2.檢查權限
建立的兩把金鑰,雖然預設的權限就都是正確的,但仍建議了解細節,關於 Public Key 和 Private Key 無法順利比對的問題:
- 私鑰必須屬於該帳戶:翻成人話,假如我在Andy帳戶建立了金鑰對,客戶端的私鑰也和Andy帳戶綁定,無法登入同一台伺服器Mary帳戶。
- .ssh 目錄:權限為700【drwx——】
- 公鑰:命名及目錄為 ~/.ssh/authorized_keys,權限為644【-rw-r–r–】。
輸入: ls -al ~/.ssh #權限檢查

輸入: mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys #將公鑰檔案id_rsa.pub更名為authorized_keys
*3.用WinSCP複製私鑰檔至Windows客戶端
使用WinSCP登入樹梅派▼圖,找到/home/”你的使用者”/.ssh目錄,將私鑰檔案複製要登入的客戶端Windows電腦
- 因為有點【.】在最前面的檔案和目錄都是「隱藏檔」,若看不到【.ssh】目錄請用Ctrl+Alt+H快捷鍵將隱藏檔列出
- 或去 選項->偏好設定->窗格->一般選項->√顯示隱藏檔(Ctrl+Alt+H) 開啟顯示隱藏檔

*4.私鑰轉檔
在Linux上產生的私鑰無法直接被Windows軟體識別,要透過PuTTY key Generator(載點找網頁中關鍵字【puttygen.exe】)轉成.ppk檔案。
打開PuTTY key Generator ->Import key 如▼圖

準備存檔如▼圖,檔名可以自訂,但副檔名一定要是.ppk

*5.Putty 免密碼設定
參考▼圖設定,Host Name (or IP address)填入:”你的使用者名稱”@”IP”位置 -> Saved Sessions:為此連線設定取個名子 -> SSH -> Auth

參考▼圖設定,去Private key file for authentication選取預存的.ppk私鑰-> Sessions

▼圖會是你看到的畫面,按下Save
樹梅派主機的連線設定會存在藍色的位置

呼!到了這一步就設定完成了,只要你對剛剛存檔好的連線捨設定點兩下滑鼠,即可連入樹梅派,享受一下不用打密碼的快感~
參考資料
[1] PuTTY FAQ
[2] Windows 使用 SSH 金鑰免密碼登入 Linux
[3] 別讓 MIS 不開心,免密碼直接登入遠端的 SSH Server
[4] Set up passwordless login in PuTTY <-這篇採用PuTTY Key Generator產生金鑰對,而非採用Linux伺服器內建工具


