PLINK 備忘錄
這篇備忘錄記錄了 PLINK。
PLINK (PuTTY Link) 是 PuTTY 套件中的一個命令行工具,主要用於在 Windows 環境下通過命令行執行 SSH、Telnet 和 Rlogin 連接。它對於腳本化和自動化遠端操作非常有用。
與 PuTTY GUI 相比,PLINK 提供了無需圖形界面的方式來連接遠端伺服器,非常適合在批處理文件、PowerShell 腳本或 CI/CD 環境中使用。
1. 安裝 PLINK
PLINK 是 PuTTY 套件的一部分。你不需要單獨安裝它,只需下載 PuTTY 官方網站提供的 PuTTY 套件。
- 訪問 PuTTY 官方網站:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- 下載
plink.exe:你可以選擇下載獨立的plink.exe可執行文件,或者下載整個 PuTTY 安裝程式。 - 將
plink.exe放置到 PATH 路徑:為了方便在任何地方調用plink,建議將plink.exe所在的目錄添加到 Windows 的環境變量PATH中。
2. PLINK 的基本用法
PLINK 的基本語法與 SSH 類似,但有其特有的選項。
基本連接
plink [user@]host [command]
範例:連接到遠端伺服器並執行 ls -l 命令。
plink [email protected] ls -l /var/www
如果沒有指定命令,PLINK 會啟動一個交互式 Shell 會話。
端口指定
使用 -P 選項指定端口(注意是大寫 P)。
plink -P 2222 [email protected]
使用私鑰文件
PLINK 支持使用 PuTTY 專有的 .ppk 格式的私鑰文件進行身份驗證。你需要使用 PuTTYgen 工具將 OpenSSH 格式的私鑰轉換為 .ppk 格式。
plink -i C:\path o\your\private_key.ppk [email protected]
傳輸輸出到文件
你可以將 PLINK 執行的遠端命令的輸出重定向到本地文件。
plink [email protected] "cat /etc/nginx/nginx.conf" > nginx_config.txt
執行多個命令
通過將命令用引號括起來,可以在遠端執行多個命令。
plink [email protected] "cd /var/www/html && git pull origin main"
3. 免密碼登錄 (使用私鑰和 PuTTYgen)
為了實現免密碼登錄,你需要:
-
生成 OpenSSH 密鑰對 (如果還沒有)。 在 Linux/WSL/Git Bash 中:
ssh-keygen -t rsa -b 4096 -
將公鑰部署到遠端伺服器。 使用
ssh-copy-id或手動將公鑰內容添加到遠端伺服器的~/.ssh/authorized_keys文件中。 -
使用 PuTTYgen 將私鑰轉換為
.ppk格式。- 打開 PuTTYgen。
- 點擊
Load,選擇你的 OpenSSH 私鑰文件 (id_rsa)。 - 輸入私鑰的密碼(如果有)。
- 點擊
Save private key,將其保存為.ppk格式。你可以選擇不設置密碼。
-
使用 PLINK 和
.ppk文件連接。plink -i C:\path o\your\id_rsa.ppk [email protected] "your_command"
4. PLINK 的其他有用選項
-ssh:強制使用 SSH 協議。-batch:防止 PLINK 提示用戶輸入密碼或接受主機密鑰(適用於腳本)。-pw password:直接在命令行中提供密碼(不安全,應盡量避免)。-N:不執行遠端命令,僅用於端口轉發(隧道)。-L,-R,-D:用於本地、遠端、動態端口轉發(SSH 隧道)。
5. 與批處理文件和 PowerShell 腳本結合
PLINK 在自動化任務中非常有用。
批處理文件範例 (deploy.bat)
@echo off
set [email protected]
set KEY="C:\path o\your\private_key.ppk"
set REMOTE_DIR=/var/www/html
echo 連接到 %HOST% 並部署...
plink -i %KEY% %HOST% "cd %REMOTE_DIR% && git pull origin main && npm install && npm run build"
if %ERRORLEVEL% NEQ 0 (
echo 部署失敗!
exit /b %ERRORLEVEL%
)
echo 部署成功!
總結
PLINK 是 Windows 用戶在命令行環境中執行 SSH 和其他遠端連接的強大工具。它在自動化腳本、CI/CD 流程以及無需圖形界面的遠端操作中扮演著重要角色。通過理解其基本用法和如何與私鑰文件結合,可以大大提高遠端管理的效率和安全性。
読み込み中...