在window下连接到远程linux部署代码十分方便,有一批优秀的工具如SecureCRT、XShell等可供选择。 今年末尝试了一下使用mac来写代码,遇到了下面两个的问题:

  • 无法通过rz、sz上传下载文件
  • 无法保存ssh连接信息
    原生终端倒是支持scp命令来上传文件,但是麻烦得要吐血啊。。。于是上网查了些资料,自己折腾一下,解决了这两个问题。

1.通过rz、sz上传下载文件

百度搜索能找到一大片,都是copy的,也不知道原作是谁了,我这里暂且也记录一下这种可行的办法吧。这种方式是通过安装一个第三方的,更强大的终端软件,来实现rz、sz的功能。

1.1下载并安装iTerm2

http://www.iterm2.com/#/section/downloads

1.2安装brew

相当于centos的yum,ubuntru的ap-get,nodejs的npm,用来方便快捷地安装软件,不光这里用到,以后使用mac的过程中也可以用这个工具来方便地安装一些依赖软件。

brew官网:http://brew.sh/index_zh-cn.html

brew安装命令:/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1.3下载安装lrzsz

brew install lrzsz

ln -s /usr/local/Cellar/lrzsz/0.12.20/bin/sz

ln -s /usr/local/Cellar/lrzsz/0.12.20/bin/rz

1.4 下载并安装automatic zmoderm for iTerm2

cd /usr/local/bin

wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh

wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-recv-zmodem.sh

(注:mac本身是不支持wget的,上面两个命令如果提示找不到wget命令,可以通过brew install wget安装wget之后再运行)

chmod 777 /usr/local/bin/iterm2-*

1.5 、添加iTerm2的rz、sz命令trigger

按iTerm2 –> Profiles –> Open Profiles –> Edit Profiles –> Advanced –> Edit Trigger路径打开配置界面

配置项:

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

最终结果如图:

至此,使用iTerm2的终端工具替代默认终端,就可以使用rz、sz命令了。

但是还有个不方便的地方: 每次ssh连到远程机器上,都需要输入命令和密码,尤其阿里云的密码还强制要求复杂度,输入的那个蛋疼啊!大致看了看iTerm的功能,然后在google上找了些资料,解决了这个问题。

2.自动ssh登录到远程linux机器

2.1 配置ssh免密登录

在Mac上 运行命令 ssh-keygen -t rsa ,运行中提示输入保存文件的路径,可以输入~/.ssh/id_rsa,还会提示输入两次密码,这个是用来加密rsa非对称加密秘钥的密码,可以不填直接跳过。

在Mac上 运行命令ssh username@ip mkdir -p .ssh,在远程linux的home目录下创建.ssh目录,期间需要输入ssh密码

在mac上运行命令cat .ssh/id_rsa.pub | ssh username@ip 'cat >> .ssh/authorized_keys' 这个命令看语义应该是将rsa加密的公钥文件拷贝到远程linux机器home目录的.ssh目录下,并命名为authorized_keys,期间也需要输入面膜。 但是我这边实际操作的过程中,发现copy失败了,原因不明,于是登录到了远程linux上,手动将公钥文件贴过去了,应该是等价操作。

在Mac上运行 ssh username@ip,发现不需要输入密码,直接就登录到远程机器了

2.2 配置iTerm的Profiles

打开iTerm的 Profiles–>Open Profiles –> Edit Profiles–> +

2.3 配置iTerm启动快捷键

打开iTerm的 Prefernce–>Keys–>

在Key Mapping下面点击+,输入快捷键Ctrl+A,选择 New Tab With Profile,属性里边选择刚刚创建的Profile,Aliyun。

至此配置全部完成,打开iTerm,按快捷键Ctrl+A,自动连接到远程机器,还是挺方便的!

☞ 参与评论