Client 前置作業:
- 至 PuTTY Download Page 下載 putty.exe、puttygen.exe、pageant.exe, 並將這些程式置於 C:\Windows\System32 目錄中
- 安裝 Cygwin (必要安裝項目: X11 → xorg-x11-base)
使用 puttygen 產生 SSH 認證金鑰
Step 1: 產生金鑰
執行 puttygen
點選 "Key" → "Generate key pair" 或直接按 "Generate" 按鈕即可開始產生金鑰. 格式預設為 1024bits SSH-2 RSA)
Step 2: 在視窗範圍內移動滑鼠游標, 直到完成進度
Step 3: 匯出金鑰
公鑰: 將 "Public key for pasting into OpenSSH authorized_keys file" 方框裡的內容貼入 openssh sshd server 的 $HOME/.ssh/authorized_keys 檔案中
私鑰: 按 "Save private key" 將 Private key 存成檔案 (如: c:\id_rsa.ppk), 供 putty 連線使用
如要對私鑰加密保護, 於 Key passphrase 欄位中輸入密碼, 再 "Save private key" 即可
Step 4: 以金鑰驗証方式登入遠端 sshd server
以 putty 直接載入私鑰進行連線
putty -i c:\id_rsa.ppk someone@sshd.server
以 pageant 載入私鑰進行連線
pageant c:\id_rsa.ppk
putty someone@sshd.server
或直接執行 pageant (不加參數) 後, 於 System Tray Icon 進行操作:
點選 "Add Key" 載入私鑰後, 再以 putty 連線即可省略 -i 參數
透過 pageant 使用 agent forwarding 功能
啟動 pageant, 並載入私鑰後 (如前述), 以 -A 參數登入遠端 sshd server
putty -A someone@sshd.server
此時 echo $SSH_AUTH_SOCK 可顯示 the path of a unix-domain socket used to communicate
with the agent
登入遠端 sshd server 後, 以 ssh-add 載入該主機內的私鑰
ssh-add ~/.ssh/id_rsa.for_other_host
此時該私鑰會記錄在本機的 pageant 私鑰清單中, 在該 sshd server 以 ssh 指令登入其他 sshd server 時會向本機的 pageant 提取私鑰來使用
透過 X11 Forwarding in SSH 在 Windows 平台使用遠端 X application
安裝 Cygwin (必要安裝項目: X11 → xorg-x11-base)
啟動 Cygwin, 執行 startx
在 xterm 視窗中執行 putty 連入遠端 sshd server, 執行 X application:
(sshd server 不需啟動 X server)
putty -X someone@sshd.server
以下皆在 putty 視窗操作:
echo $DISPLAY (若結果為 localhost:10.0 表示成功啟用 X11 Forwarding)
xclock & (X application)
PuTTY vs. OpenSSH commands
PuTTY@Windows |
OpenSSH@Linux |
putty [-ssh] |
ssh |
puttygen |
ssh-keygen |
pageant |
ssh-agent $SHELL |
(within pageant) |
ssh-add |
References: