mac通过SSH连接远程Linux主机解决上传文件的痛

来源:互联网 发布:网络汉语教师 编辑:程序博客网 时间:2024/05/20 10:55

本人算是mac小白一枚,今天分享一下mac使用ssh连接远程主机如何实现上传文件。

一直以来mac下免费软件的匮乏,我觉得一直是一个痛。作为一个攻城狮,从用了mac后也是深有体会。

连接数据库用的navicat,破解费劲也不好用。播放器功能太少,我所知道的只有暴风是免费的。powerDesigner没有mac版本。Office搞一个office365可以用,就是一个很关键的Project却不支持mac,害得我要再搞一台win来编辑项目计划。

上面是我在使用mac过程中的一些痛处,如果大家有好用的工具解决或替代,麻烦也告诉我,非常感谢。好了,有些跑题了,咱们言归正传......

一直以来,对于大多数同胞来说,项目开发和打包部署都不会在一台机器上,相信大家都经常会遇到通过ssh连接远程主机的问题。在win下就比较简单,咱们有一套好用的工具Xmanager Enterprise,工具里已经集成了Xshell(远程命令行工具)和Xftp(文件上传下载工具)这些常用组件。但是该工具不支持mac,导致mac如果需要连接远程linux主机只能通过ssh命令连接,连接命令:ssh -X -l root -p 22 127.0.0.1,最后两个参数:22是ssh端口,127.0.0.1是需要连接的IP地址。然后按照提示输入密码即可。

到这里都还好,只是多输入一个命令而已,然后更麻烦的问题来了。在连接到远程主机后,相信大家都会有需要上传文件的操作,mac下通过命令行操作是没有上传文件功能的,最初本人为了解决这个问题,找到了一个工具Transmit,改工具使用和Xftp类似,界面截图如下:

不过我找到半天也没有找到保存设置功能,每次操作文件都需要重新连接一次。所以问题又来了,每次连接远程主机操作都要进行两次远程连接,这也是很痛苦的事情。不过痛苦总是短暂的,我意外发现在mac下可以使用的上传命令:rz ,上传文件从此变得简单美好。后来发现也有下载命令:sz。唯一的问题是该命令在mac自带的控制台工具里无法使用,iterm2是完全没问题的。

rz、sz命令的支持需要下载安装lrzsz软件,安装命令:brew install lrzsz ,安装即可。

如果发现不支持brew命令,可以通过命令安装:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装后使用时可能会出现异常。此问题在百度上很容易找到答案,本人是参考gitHub上的方法:https://github.com/mmastrac/iterm2-zmodem

大致步骤如下:

1、将对应github上的文件下载到本地路径/usr/local/bin下。下载文件:iterm2-send-zmodem.sh 和 iterm2-recv-zmodem.sh

需要注意的是iterm2-send-zmodem.sh 和 iterm2-recv-zmodem.sh是需要有执行权限的,找到该文件并执行如下命令:

chmod +x iterm2-recv-zmodem.sh

chmod +x iterm2-send-zmodem.sh


2、配置iterm2,如图:

(1)打开Profiles->Open Profiles


(2)点击右下角的Edit Profiles...


(3)在右侧选择Advanced选项卡,点击Triggers下的Edit


(4)点击左下角的新增(+)按钮;并新增两项:

    Regular expression: \*\*B0100
    Action: Run Silent Coprocess
    Parameters: /usr/local/bin/iterm2-send-zmodem.sh
    Instant: checked

    Regular expression: \*\*B00000000000000
    Action: Run Silent Coprocess
    Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
    Instant: checked



此时重启iterm2即可使用,轻松上传文件部署。部署变得如此简单