所必须的工具
- 背景:window下连接服务器,主要用到mobaxterm和winscp。mobaxterm除了ssh外,还有小文件的传输,X11,以及sshtunnel。除了后者外,其他两个都是常用的特征。
- 方案:没有mobaxterm,Mac下最主要的替代工具所iTerm2.而且异常的强大
- 小文件传输:使用rzsz,容易配置而且方便(命令行传输),安装参考一。
- x11.用来显示传输的显示出来的内容。安装参考二。
- 另外一个小问题:iTerm2经常自动关闭远程连接,有autossh,挺方便的。参考四
- 接上,还有一个小问题,autossh不支持x11的ssh -y,也就是没办法既使用autossh又用x11.不过expect可以解决,这儿参考六。
- 最后是数据传输ftp,使用软件transmit。不要去找别的了。
- 总之,核心上iTerm2,其他的相当于对它的扩充。
- 补充:远程连接有需要翻墙或VPN的,使用shadowsock和proxifier的组合。注:iterm2也可以使用proxy,但是目前还没调通,也就是proxifier甚至可以不需要。
一、iterm2下的小文件的上传下载,相当于ftp:具体的操作参见:
- 配置:iTerm2下配置ssh自动登录和使用lrzsz上传下载
- 服务器端lrzsz一般都安装好了,使用的话直接sz+file发送到本地,或者rz -bye本地文件到服务器端。(一般都会要求发送二进制文件)
二、客户端需要的xserver:
- 配置:Mac下的X11终端程序 : XQuartz
- 使用xserver:ssh -X …
- 使用sshtunnel.
三、iTerm2的设置,极大的提升显示效果
-
属性设置,Mac OS 终端利器 iTerm2
-
环境变量,zshrc,相当于bashrc
-
主题很重要,除了链接里给的,还有两个目前看着比较舒服,‘ys’和’bira‘
四、iTerm2 自动保存用户名和密码
- autossh
- expect
五、sftp工具
- Transmit
- sudo spctl --master-disable安装破解软件
- 破解软件下载网站挺多的,比如知您网,另外一个用到的破解软件是论文管理paper3.
六、expect脚本
- 跟sh脚本差不多mac自有的吧,ssh远程连接,并且连接x11以及长时间保持远程连接
#!/usr/bin/expect -f
set user lidachong
set host 192.168.1.[lindex $argv 0] // 从外面传过来参数,想设置更多参数就直接用这种方式替换就可以
set pwd abcdef
set timeout 30
spawn ssh -o ServerAliveInterval=30 -Y $user@$host // 发送心跳包时间,同 ssh -o 。ServerAliveInterval=30; -Y 是启动XQuzrtz之后,可以启用x11服务。-y是在启动x11服务之后才能看到。这个关键字又很多同名选项
expect "*assword:"
send "$pwd\r"
interact
exit
chmod a+x xxx.sh
- ./xxx.sh 101
七、通信工具
- Mac下没有iNode,外网连接公司内网有些麻烦。这下面的两个的组合是iNode的替代品
- VPN:shadowsock,使用brew直接安装就可以了
- proxifier:将电脑的其他软件的流量导流到socks5或者http:localhost
- 在网上能找到ss和proxifier的安装方法,后者的规则配置可以参考下图
八、补充
上面这些组合基本满足widows下常用的连接服务器的工具。为了方便,做了一些expect脚本或者autossh的github开源库。可以将这两个工具做出alias,比如:
alias xssh=.ssh/login.sh#是给expect的重命名命令(六),因为带X11,用的更多一些
alias autossh=.ssh/autossh/autossh-macOS-amd64_v1.0.0/autossh#是给autossh的
开机办公要打开很多软件,所以也做了一个脚本
open /Applications/ShadowsocksX-NG.app /Applications/Proxifier.app /Applications/Utilities/XQuartz.app