星辰大海▼ 2020▼ Tip Ssh Shell Mac Iterm2

技巧006:Mac下的SSH神器-Iterm2

#Tip #Ssh, #Shell, #Mac, #Iterm2

疫情在家,彻底从ubuntu转到了mac上来,于是重新构建了原ubuntu下的工具链。管理服务器是第一需要,于是就要有好用的ssh客户端(注意,ssh,不是spring-struts-hibernate,这个组合,严重影响shell的搜索精度)

1.好SSH端的标准

一个好的SSH客户端要有哪些特点呢?看过我ubuntu分享和博客的应该知道,

  • 很好的CJK支持,也就是UTF8
  • 能够有密码管理和私钥管理,每月更换,改一个即可。
  • 能够ssh-scp/sftp联动,不是ZModem的sz/rz
  • 能够多窗口执行命令,比如20台同时install
  • 能够分屏,比如水平或垂直,对比命令或输出
  • 能够容易的复制出ip,密码,sudo时使用
  • 能够为tab页增加颜色,以区分dev和prd环境
  • 能够分组管理服务器
  • 跨平台,免费或不太贵,不用破解

2.你的Iterm2用瞎了

Iterm2本身优点特别多,配置一下,可以媲美大部分商业软件,好些商业软件也基于Iterm2,人狠话不多,说你这么多年都没用好的功能。本文中实现了密码统一管理,为TAB打上颜色和水印,能够ssh-scp联动,分组管理服务器,最后送一个卷帘式滑出的半屏半透明shell

首先,你必须得上zshcatalina已经默认上了这个zshell,然后配备Oh My Zsh,记住要用Antigen管理,最后,搞个华丽的提示符,Powerlevel10k,这样完成命令行的基本配置。

有些同学可能启动zsh的时候,等了很久才出现提示符,这个需要优化启动时间(以后会分享),线索是zprofxtrace,常见的慢仔有NVM,anaconda

3.统一管理密码

在众多 window菜单中,PasswordManager是最有用的一个,就是管理密码。统一管理密码,主要是为了每月更换密码时的方便和安全。有些人使用 expert命令,以明文的形式管理密码,不可取。

4.颜色标识和打水印

工业化质量要求,必须能明确知道当前窗口的安全等级,越醒目,越直接越好。

设置不同安全等级的Profile,然后使用高级功能自动切换。注意③是个小妙招,它能为打开的窗口增加一个大大的水印效果。这强化了颜色区分,更能知道哪个窗口是dev,哪个是prd。

为tab设置颜色,也设置光标的颜色。比如正式环境(PRD)是红色,dev是蓝色,本地无色或绿色。有的时候,需要考虑色弱或者红绿色盲。其实这部分人群挺多的。下图可以自动切换 profile的,自己看文档,主要是用户,主机和路径匹配。

5.自动登录和变色

可以实现自动登录,①集成shell,实现远程文件的scp下载(按CMD键+鼠标点击即可)② Tab自动变色(红)和水印(仔细看箭头位置),方便识别远程PRD环境。

这里需要组合拳了,ssh config editor(收费,18软妹币),这个工具实际上是代替了手动编辑 ~/.ssh/config,并增加了便于GUI识别和设置功能。如果熟知了其格式,在文本编辑器中直接编辑更方便快捷。

此外,还需要修改本地hosts,已完成 iterm2的shell集成scp功能。这里需要把所以ip都以设定主机名(按域名管理),保持 config中的HostName一致。

同时,在ssh config editor中设置,使用Iterm2user@hostname:port

这样,当我们在顶部菜单栏,登录远程服务器时,如上图的srj@dev(可以看到图标是DEV),然后Iterm2打开一个新的tab页,在提示输入密码时,打开密码管理器(alt-cmd-f),根据标题的user和host,选择对应的密码。

此外,ssh config editor还提供了更好的参数设置,如下图,可以把不少命令行参数,表现的很直观,做了格式限定,也不容易犯错。

6.卷帘式滑出shell

这个功能特别舒服,比如,我设置的按2次Ctrl(以后会讲改键,目前我是单独按Caps等于Esc,连续按或与其他键一起按等于Ctrl),可以从最顶部滑出一个置顶半通明的半屏shell,用来执行一些小命令,然后,在嗖的让他会自动隐藏。

那么,怎么设置呢?细心的读者,大概会注意到最开始的截图中,除了prd,dev的profile外,还有一个奇怪的家伙,HotkeyGuake,就是它,因为我在ubuntu下用Guake和tilda实现的这个功能,同时Quake是我大学时最喜欢的游戏之一。

最关键的点是这里,而颜色,透明,半屏,动画那些都不足为道。

7.结束语

什么是攻城狮精神,跟过我的人一定有体会,就是要琢磨事情,善其事利其器。正所谓,大道易得,一术难求。攻城狮浮躁不得,不用沉迷流行的概念和话术,实打实的写好自己的代码,调教好顺手的攻击,自然而然的就会有所体会和手感,也就能很好的理解大道至简的含义了。

※ 我们的征途是星辰大海 ※

《技巧006:Mac下的SSH神器-Iterm2》 可能你的`Iterm2`用瞎了,本文说你这么多年都没用好的功能,密码统一管理,为TAB打上颜色和水印,能够ssh-scp联动,分组管理服务器,最后送一个卷帘式滑出的半屏半透明shell
题图:Iterm2是自由软件GPLv2,本身优点特别多,可以媲美大部分商业软件,一些商业软件也基于它