win-sshpass¶
クロスプラットフォームの sshpass 実装(Windows、Linux、macOS):パスワード/キー/ssh-agent SSH ログイン、インタラクティブシェル、SFTP/SCP/Rsync ファイル転送、ポート転送 (-L/-R)、SOCKS5/SOCKS4/HTTP プロキシトンネル、AI エージェント向け JSON 出力、ブレークポイントレジューム、ファイルハッシュ検証、鍵生成、再利用可能な Go SDK。
機能¶
- SSH とシェル — パスワードまたは秘密鍵による認証、リモートコマンド実行、raw ターミナルモードによるインタラクティブシェル(正しいエコー、Ctrl+C、vim/top 対応、動的リサイズ)。
- ファイル転送 — プログレスバー付き SFTP アップロード/ダウンロード、SCP スタイルおよび Rsync スタイルの転送構文、複数ファイル対応、再帰的ディレクトリアップロード。
- シェル rz/sz — インタラクティブシェルで
rz/szコマンドを直接使用可能 — リモートサーバーにソフトウェアのインストールは不要。転送は SFTP 経由。 - 鍵生成 — 組み込みの SSH 鍵ペア生成(Ed25519 および RSA)、ssh-keygen 不要。SSH 経由で公開鍵を配布し、パスワードなしログインを実現。
- プロキシトンネル — SOCKS5(認証付き)、SOCKS4、SOCKS4A、HTTP CONNECT、HTTPS CONNECT プロキシ経由で SSH 接続をトンネル。
- ポート転送 — ローカル(
-L)およびリモート(-R)TCP ポート転送を SSH トンネル経由で実現、プログラム用のForwarderSDK API も提供。 - SSH Agent と JSON モード — ローカル ssh-agent を自動検出して認証、オプションのエージェント転送(
-A)。AI エージェントと自動化のための構造化 JSON 出力(-json)。 - ブレークポイントレジューム — 中断された SFTP アップロード/ダウンロードを
-resumeフラグで途中から再開。 - ファイルハッシュ検証 — ローカルファイルのチェックサム(MD5、SHA-1、SHA-256、SHA-512)を計算・検証 — SSH 接続不要。
- 再利用可能な Go SDK —
package sshpassをインポートして、SSH/SFTP/シェルを独自のアプリに組み込み可能。注入可能な 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
# インタラクティブシェルを開く
win-sshpass -p 'password' ssh user@host
# SSH キーペアを生成
win-sshpass keygen
クイックナビゲーション¶
| インストール | クイックスタート | SSH 接続 |
| ファイル転送 | インタラクティブシェル | 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 は**単一の実行ファイル**です — 外部ランタイム依存はありません。ダウンロードして実行するだけです。