背景
在開發過程中會遇到,需要把本地文件上傳到遠程服務器的情況;正常情況下可以使用scp實現文件上傳;但是大部分公司內部線上服務器都是無法直接登錄的,都需要通過跳板機登錄,這時scp(ssh)就無法直接連接服務器了,這就需要用到rz和sz文件上傳命令,可以直接跳過跳板機,連接本地和遠程服務器。
一下以MAC講解安裝步驟:
安裝步驟
-
安裝Homebrew(已安裝就無需再次安裝)
ruby -e "$(curl -fsSL https://raw.githubusercontent...)"
檢查是否安裝成功
brew -v
brew是Mac OS上的一個包管理工具,可以使用它來安裝接下來要使用到的iTerm,wget等工具
-
安裝lrzsz命令
lrzsz是一款在linux裏可代替ftp上傳和下載的程序。通過下載它來使用rz,sz
brew install lrzsz
- 安裝iTerm2
iTerm2是一個Mac下的終端工具,非常好用的命令行工具。Mac自帶的終端是不支持lrzsz的,需要先下載支持它的iterms。
下載到本地後直接解壓安裝,並將文件拖入到Applications
-
安裝wget(如果本地已安裝 則無需再次安裝)
brew install wget
-
下載並安裝automatic zmoderm for iTerm2
如果擁有root不需要sudo
cd /usr/local/bin
(sudo) wget https://raw.github.com/mmastr...
(sudo) wget https://raw.github.com/mmastr...
改變腳本權限
(sudo) chmod 777 /usr/local/bin/iterm2-*
-
配置iTerm2
打來一個iTerm終端,進行如下操作
Profiles—>open Profiles—>Edit Profiles—>Advanced—>Edit Triggers—> 配置如下:
Regular expression Action Action **B0100 Run Silent Coprocess /usr/local/bin/iterm2-send-zmodem.sh **B00000000000000 Run Silent Coprocess /usr/local/bin/iterm2-recv-zmodem.sh
-
使用
先通過跳板登錄遠程服務器
ssh *@relay.corp.com
登錄成功之後,直接在終端輸入rz 回車 會彈出文件選擇窗口,直接選中本地文件
等待文件上傳完成