客戶端:https://github.com/trzsz/trzsz-ssh
服務端:https://github.com/trzsz/trzsz-go
安裝方法
-
Ubuntu 可用 apt 安裝
sudo apt install trzsz
sudo apt update && sudo apt install software-properties-common sudo add-apt-repository ppa:trzsz/ppa && sudo apt update sudo apt install trzsz
-
Debian 可用 apt 安裝
sudo apt install trzsz
sudo apt install curl gpg curl -s 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x7074ce75da7cc691c1ae1a7c7e51d1ad956055ca' \ | gpg --dearmor -o /usr/share/keyrings/trzsz.gpg echo 'deb [signed-by=/usr/share/keyrings/trzsz.gpg] https://ppa.launchpadcontent.net/trzsz/ppa/ubuntu jammy main' \ | sudo tee /etc/apt/sources.list.d/trzsz.list sudo apt update sudo apt install trzsz
-
Linux 可用 yum 安裝
sudo yum install trzsz
-
國內推薦使用 wlnmp 源,安裝 trzsz 只需要添加 wlnmp 源( 配置 epel 源不是必須的 ),以 CentOS 為例:
sudo rpm -ivh https://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm sudo yum install trzsz
-
也可使用 gemfury 源( 只要網絡通,所有操作系統通用 )
echo '[trzsz] name=Trzsz Repo baseurl=https://yum.fury.io/trzsz/ enabled=1 gpgcheck=0' | sudo tee /etc/yum.repos.d/trzsz.repo sudo yum install trzsz
-
-
ArchLinux 可用 yay 安裝
yay -S trzsz
yay -Syu yay -S trzsz
-
MacOS 可用 homebrew 安裝
brew install trzsz-go
brew update brew install trzsz-go
-
Windows 可用 scoop / winget / choco 安裝
scoop install trzsz
/winget install trzsz
/choco install trzsz
scoop install trzsz
winget install trzsz
choco install trzsz
-
用 Go 直接安裝( 要求 go 1.20 以上 )
go install github.com/trzsz/trzsz-go/cmd/...@latest
go install github.com/trzsz/trzsz-go/cmd/trz@latest go install github.com/trzsz/trzsz-go/cmd/tsz@latest go install github.com/trzsz/trzsz-go/cmd/trzsz@latest
安裝后,
trzsz
程序一般位于~/go/bin/
目錄下( Windows 一般在C:\Users\your_name\go\bin\
)。 -
可從 Releases 中直接下載適用的版本
或者用 Go 編譯( 要求 go 1.20 以上 )
git clone https://github.com/trzsz/trzsz-go.git cd trzsz-go make sudo make install
使用方法
在本地電腦使用
-
在命令前添加
trzsz
,就可以支持 trzsz (trz /tsz) 上傳和下載了,如:trzsz bash trzsz PowerShell trzsz ssh x.x.x.x
-
在命令前添加
trzsz --dragfile
,就可以啟用拖拽上傳功能,如:trzsz -d ssh x.x.x.x trzsz --dragfile ssh x.x.x.x
在跳板機上使用
-
如果在跳板機上使用
tmux
,則需要再使用trzsz --relay ssh
登錄遠程服務器,如:trzsz ssh jump_server tmux trzsz --relay ssh remote_server
在服務器上使用
-
與 lrzsz (rz /sz) 類似,使用
trz
命令上傳文件,使用tsz /path/to/file
命令下載文件。 -
有關
trzsz
更詳細的文檔,請查看 https://trzsz.github.io/cn/。
使用建議
-
為了使用方便,可以設置
alias
,例如alias ssh="trzsz ssh"
,又或者alias ssh="trzsz -d ssh"
支持拖文件上傳。 -
如果在本地電腦使用
tmux
,先不帶trzsz
運行tmux
,然后再使用trzsz ssh
登錄遠程服務器。
可配置項
trzsz
使用的配置文件是 ~/.trzsz.conf
( Windows 是 C:\Users\your_name\.trzsz.conf
)。注意路徑必須包含 /
結尾,如:
DefaultUploadPath =
DefaultDownloadPath = /Users/username/Downloads/
-
如果
DefaultUploadPath
不為空,上傳選擇文件時會默認打開此目錄。 -
如果
DefaultDownloadPath
不為空,下載文件時會自動下載到此目錄( 不需要再彈窗選擇路徑 )。
常見問題
-
如果 MSYS2 或 Git Bash 遇到錯誤
The handle is invalid
。- 在
trzsz
前面加上winpty
即可,如winpty trzsz ssh x.x.x.x
這樣登錄服務器。 Git Bash
已默認安裝有winpty
,MSYS2
需要手工安裝pacman -S winpty
。
- 在
-
在 MSYS2 和 Cygwin 等,不支持直接使用
/usr/bin/ssh
那個ssh
,可能會傳輸失敗。需要使用 Windows 自帶的 OpenSSH。MSYS2
中用法winpty trzsz /c/Windows/System32/OpenSSH/ssh.exe x.x.x.x
。Cygwin
中用法trzsz "C:\Windows\System32\OpenSSH\ssh.exe" x.x.x.x
。- ? 推薦使用 trzsz-ssh ( tssh ),
tssh
等同于trzsz ssh
。
-
拖文件或目錄到終端后,沒有自動上傳?
- 檢查
ssh
登錄時有沒有加上--dragfile
選項,如trzsz --dragfile ssh x.x.x.x
。 - 檢查服務器上有沒有安裝 trzsz,
trz
應在某個PATH
路徑下。 - 在 Windows 中,檢查標題有沒有
管理員
三個字,以管理員運行
時可能會由于 UAC 設置的原因導致拖不了文件。 - 在 Windows Terminal 中,需要將文件或目錄拖到左上角,顯示
粘貼文件路徑
時再放開。 - 在 Windows 的
cmd
和PowerShell
中,一次只能拖一個文件或目錄,拖多個也只有鼠標正對著的那個是生效的。
- 檢查
開發指引
想要讓你自己開發的 ssh 客戶端支持 trzsz ?請參考 go ssh client example。
錄屏演示
在 windows 的 cmd 使用示例:
在 Ubuntu 原生終端使用示例:
在 Mac 原生終端拖文件上傳的示例: