跳轉到

win-sshpass

win-sshpass — 跨平台 sshpass 實作:密碼/金鑰/ssh-agent SSH 登入、互動式 Shell、SFTP/SCP/Rsync 檔案傳輸、連接埠轉送 (-L/-R)、SOCKS5/SOCKS4/HTTP 代理通道、AI 代理 JSON 輸出、斷點續傳、檔案雜湊校驗、金鑰產生,以及可重複使用的 Go SDK。

快速開始 安裝 原始碼


功能特性

  • SSH 與 Shell — 密碼或私鑰認證、遠端命令執行、互動式 Shell 原始終端模式(正確回顯、Ctrl+C、vim/top 支援、動態視窗大小調整)。
  • 檔案傳輸 — SFTP 上傳/下載帶進度條、SCP 風格與 Rsync 風格傳輸語法、多檔案支援、遞迴目錄上傳。
  • Shell 內 rz/sz — 在互動式 Shell 中直接使用 rz/sz 命令 — 遠端伺服器無需安裝任何軟體;傳輸透過 SFTP 進行。
  • 金鑰產生 — 內建 SSH 金鑰對產生(Ed25519 和 RSA),無需 ssh-keygen。透過 SSH 部署公鑰實現免密碼登入。
  • 代理通道 — 透過 SOCKS5(含認證)、SOCKS4、SOCKS4A、HTTP CONNECT 和 HTTPS CONNECT 代理通道化 SSH 連線。
  • 連接埠轉送 — 本機(-L)和遠端(-R)TCP 連接埠轉送,透過 SSH 隧道傳輸,提供 Forwarder SDK API 供程式化使用。
  • SSH Agent 與 JSON 模式 — 自動檢測並使用本機 ssh-agent 進行認證,支援 agent 轉送(-A)。結構化 JSON 輸出(-json)適用於 AI 代理和自動化。
  • 斷點續傳 — 使用 -resume 標誌從中斷處恢復 SFTP 上傳/下載。
  • 檔案雜湊與校驗 — 計算並校驗本地檔案校驗和(MD5、SHA-1、SHA-256、SHA-512)— 無需 SSH 連線。
  • 可重複使用 Go SDK — 匯入 package sshpass,將 SSH/SFTP/Shell 嵌入你自己的應用,支援注入 I/O、進度回呼,零 UI 依賴。

30 秒快速開始

# 透過 WinGet 安裝
winget install chuccp.win-sshpass

# 或透過 Scoop 安裝
scoop bucket add chuccp https://github.com/chuccp/scoop-bucket
scoop install win-sshpass
# 使用密碼登入並執行命令
win-sshpass -p 'password' ssh user@example.com 'whoami'

# 上傳檔案
win-sshpass -h example.com -p 'password' -local file.txt -remote /tmp/file.txt

# 開啟互動式 Shell
win-sshpass -p 'password' ssh user@host

# 產生 SSH 金鑰對
win-sshpass keygen

快速導覽

安裝 快速開始 SSH 連線
檔案傳輸 互動式 Shell SCP 與 Rsync
設定檔 Go SDK 最佳實踐
更新日誌

依賴

依賴 用途
golang.org/x/crypto/ssh SSH 協定實作
github.com/pkg/sftp SFTP 檔案傳輸
github.com/schollz/progressbar/v3 CLI 進度條(僅 CLI)
github.com/ncruces/zenity rz/sz 檔案對話框(僅 CLI,可選)

win-sshpass 是一個**獨立的可執行檔** — 無需外部執行時依賴,下載即用。


社群