简介:SecureCRT 是老牌远程终端连接客户端,这个 macOS 版本面向经常通过 SSH、Telnet 等协议登录服务器、交换机等设备的开发与运维人员,解决了在 Mac 上找不到稳定好用的终端工具、又不想费心处理破解授权的问题。压缩包内含可直接运行的免破解应用,把程序图标拖入 Applications 目录即完成安装,Quick Connect、会话保存、多标签页等常用功能均可正常使用。包体共 822 个文件、约 30.45MB,其中 dylib 存放运行依赖库,htm/js 是内置帮助和界面交互逻辑,bmp/gif/tiff 等图像素材覆盖各类连接对话框与操作图示;Qt 相关运行组件也一并带入,确保界面显示完整。已有 1271 人学习/下载,适合希望快速在 Mac 上获得开箱即用终端工具的用户。拿到手直接启动即可连接远程主机,省去自行组装依赖和反复排查环境配置的步骤。
1. SecureCRT for mac 是什么:macOS 上让我彻底放弃多个终端并存的那一天
如果你在 mac 上要同时维护 Linux 服务器、网络交换机、嵌入式开发板,或者偶尔还得开一个 console 口连设备,你会发现系统自带 Terminal 只能算“能用的 SSH 浏览器”,离“顺手”差得很远。SecureCRT for mac 是 VanDyke Software 出品的 SSH/串口终端客户端,核心不是“多个标签页”,而是把每一次远程连接都保存成一个独立会话,双击就回到你上次离开的登录态。我第一次用它连接几十台服务器时,感觉像是从手工记账换成了 Excel。这篇笔记不写破解、不贴注册机,只把 mac 上安装、配置、避坑和备份这条完整路径讲清楚,适合把 mac 当主力运维机的开发者和网络工程师。
2. 为什么在 mac 上用 SecureCRT 而不是自带 Terminal / iTerm2:会话模型与选型对比
2.1 系统自带 Terminal 和 iTerm2 差在哪
macOS 自带 Terminal 的定位是“系统控制台”,不是“运维工作台”。它能执行 ssh,但不能管理连接;每个窗口都像一个白纸,今天连接过的服务器,明天还要把用户名、端口、密钥参数重新敲一遍。iTerm2 比自带终端强在分屏和渲染,但它同样缺少“会话树”的概念,标签页与服务器之间没有强绑定关系,换一台 mac 之后所有连接记录都要重新配置。很多网工在 mac 上保留 SecureCRT,不是因为 iTerm2 不好,而是因为 SecureCRT 把“连接”本身当作一种可保存、可组织、可迁移的资产,这一点在服务器数量超过十台后差距特别明显。
2.2 SecureCRT 的核心逻辑:会话不是“标签页”
普通终端的行为是:打开窗口,输入 ssh,敲密码,关闭窗口。SecureCRT 的行为是:先建立一个会话,把这个会话里所有行为固化下来。一个会话至少包含协议类型、主机地址、端口、登录用户名、认证方式、终端类型、配色方案、日志记录开关、甚至按钮栏布局。你可以把这些会话放在不同文件夹里,比如“生产环境”、“测试环境”、“网络设备”、“串口调试”。下次连接时,双击会话名,SecureCRT 自动完成登录,遇到密码或者密钥 passphrase 才会停下来问。
这个模型带来的直接好处是排障成本低。你不需要记住“这台设备是 SSH 还是 Telnet、端口是不是 2222”,会话列表里写得清清楚楚。新同事拿到一台 mac,只要把会话库整体拷过去,就拥有一整套跟生产环境一致的操作入口。
2.3 适合哪些人,不适合哪些人
如果你只是偶尔在某台云服务器上跑一条命令,系统自带终端或者 iTerm2 足够,不必为 SecureCRT 花钱。但如果你需要管理多台 ESXi 主机、Linux 跳板机、网络设备,或者经常要连 console 口刷固件,SecureCRT 的会话存储、串口支持和日志能力会明显提高效率。我自己最典型的场景是机房巡检:同时打开一组交换机 session,每台设备一个标签页,日志自动落盘,回去之后再从日志里统一 grep 故障关键字。这样的工作流,在普通终端里需要用脚本反复包装才能实现,而 SecureCRT 几乎是开箱自带。
想判断自己是否需要,可以做一次简单自测:连续开 20 个 SSH 标签页并给每页起不同名字;编辑一段远程文件并让语法高亮不乱;把某段会话输出保存到本地;用 USB 转串口线连接一台交换机 console;换一台 mac 后恢复以上全部状态。如果你在任一项上觉得“现有工具不得劲”,SecureCRT 的试用评估就值得跑一遍。
2.4 版本与许可:试用评估、License 和买断逻辑
SecureCRT for mac 是商业软件,官方提供试用评估版本,安装后可以用评估模式完整体验功能,之后再通过官网购买正式 License。这里要提醒一句:网上流传的注册码、激活密钥基本都是历史版本,新版本验证基本不通过,而且乱填序列号可能让软件进入奇怪状态。我见过有人为了省几百块折腾两天,最后连正常试用都无法进入,这是典型的因小失大。
SecureCRT 的 License 信息在 mac 上一般通过 “Help -> About SecureCRT” 查看。正式版支持“输入 Serial 和 Key”的方式,也支持账号登录方式。不同购买渠道可能有略微差异,但安装流程一致:先装软件,再填授权,最后重启应用完成激活。如果你暂时没买,选择“试用”即可,功能不会被阉割,只是会有试用剩余天数提示。
3. 从下载到连上第一个 SSH 会话:SecureCRT for mac 安装与最小配置
3.1 安装流程:dmg 挂载、拖入 Applications、首次启动权限
SecureCRT for mac 没有 Homebrew 官方 cask,常见做法是从官网下载 dmg 安装包,然后手动复制到应用程序目录。拿到 dmg 后,用 hdiutil 挂载是 mac 用户最熟悉的方式,也可以直接双击 dmg,但命令行方式适合批量部署和脚本安装。
hdiutil attach ~/Downloads/SecureCRT-*.dmg ls /Volumes/SecureCRT* ditto "/Volumes/SecureCRT/SecureCRT.app" "/Applications/SecureCRT.app" hdiutil detach /Volumes/SecureCRT第一行把 dmg 镜像挂载到 /Volumes 下,第二行确认镜像里应用的真实名称,第三行用 ditto 把 .app 完整复制到系统应用程序目录。ditto 比cp -R更能保留应用内的扩展属性、权限和资源结构。最后卸载镜像。如果你的下载文件带有具体版本号,通配符SecureCRT-*.dmg会自动匹配,但要注意 shell 展开后路径是否唯一。
首次启动时,macOS 可能弹“安全性与隐私”授权窗口,这是正常的。如果你是从官网下载的版本,系统会提示“来自已识别开发者”,允许后就能打开。如果提示“Apple 无法检查其是否包含恶意软件”,不要急着去开系统权限,先在 Finder 里右键点击 SecureCRT.app 选择“打开”,这一步通常能让系统记住你的选择。
3.2 新建 SSH 会话:主机、端口、认证方式
第一次打开 SecureCRT,界面上会有一个空白会话栏。新建 SSH 会话的路径是 “File -> New Session”,或者更快的 “File -> Quick Connect”。Quick Connect 适合临时连接,New Session 适合保存到会话树里。以新建 SSH 会话为例,需要填的参数如下:
| 参数 | 示例 | 说明 |
|---|---|---|
| Protocol | SSH2 | 绝大多数 Linux/网络设备用 SSH2 |
| Hostname | 192.168.1.10 | IP 或域名都行 |
| Port | 22 | 非默认端口时改成对应值 |
| Username | root / admin | 登录用户,可在会话内保存 |
| Authentication | Password / Public Key | 按设备支持的认证方式选 |
| Terminal Type | xterm-256color | 影响 vim 和 htop 的颜色 |
填完这些以后,先别急着连接。点击左下方的“Save Session”,给会话起一个能对应业务的名字,比如 “机房A-核心交换机”。连接时如果保存了密码选项,SecureCRT 会直接登录;如果使用密钥认证,它会要求你指定私钥文件。这里有一个 mac 用户容易踩的点:SecureCRT 并不会自动读取你 ~/.ssh/config 里的 Host 配置,必须在会话属性里显式设置用户名和私钥路径。
3.3 会话文件夹:把一百台机器整理成目录树
当会话数量多了以后,纯列表很难看。SecureCRT 的会话栏支持文件夹和子文件夹,右键会话栏空白处选择 “New Folder” 即可创建。我一般按业务拓扑组织:一层是“环境”,二层是“设备类型”,三层是具体主机。文件夹不会影响连接行为,只影响显示和批量连接。SecureCRT 支持一次选中一个文件夹内的多个会话一起连接,这个功能在批量巡检时非常节省时间。
会话文件在 mac 上并不是一个隐藏数据库,而是以文件形式保存在配置目录里。你如果想知道具体路径,可以在终端执行:
find ~/Library -maxdepth 5 -type d -iname '*SecureCRT*' 2>/dev/null这条命令从当前用户 Library 目录往下找名字里带 SecureCRT 的文件夹。找到以后你会发现里面通常有 Config、Sessions、Logs 等目录。理解这个结构很重要,因为备份和迁移 mac 上的 SecureCRT 就是备份这个目录。
3.4 快速连接和使用命令行打开 SecureCRT
SecureCRT 虽然主要靠图形界面操作,但 mac 用户总有“在终端里输入一条命令快速连接”的习惯。最保守的方法是直接打开应用:
open -a SecureCRT如果你希望命令行和 GUI 配合,比如用 Alfred 或 Raycast 唤起 SecureCRT,可以给这条命令加个别名。把下面这行加到 ~/.zshrc 里:
alias crt='open -a SecureCRT'之后终端里输入crt就能唤起应用。需要注意的是,SecureCRT 的图形界面会把“会话”和“连接”分开,命令行唤起不等于自动连接某台主机。我的习惯是先从会话树里选目标,再双击连接,因为自动读取命令行 URL 参数反而会绕过会话配置,丢失终端类型和日志设置。
3.5 连接 console 串口:SecureCRT 在 mac 上的隐藏优势
很多终端在 mac 上连接串口设备时不方便,因为 macOS 把串口设备映射为 /dev/tty.usbserial-xxx,而不是 Windows 的 COM1。SecureCRT 对串口协议支持得很直接,新建会话时把 Protocol 选成 Serial 即可。
连接之前,先确认 USB 转串口线已经被系统识别:
ls /dev/tty.*你会看到类似 /dev/tty.usbserial-110 这样的输出。设备路径可能每次插拔后变化,所以不要写死。回到 SecureCRT,Serial 会话里需要设置波特率、数据位、停止位、流控。网络设备 console 口最常见的是 115200 或 9600,数据位 8,停止位 1,无校验。先把 Flow Control 里的 RTS/CTS 关掉,因为很多 USB 转串口线并不实际接线,开着流控会导致只发不收。
串口连接成功后,设备上电应该能看到启动日志。如果什么字符都没有,优先检查波特率是否匹配,其次检查设备路径是否选对。SecureCRT 允许在同一个标签页里暂停、重开串口会话,调试固件时比一次次拔线省事得多。
4. 把 SecureCRT 调成顺手的样子:关键字高亮、颜色、日志和按钮栏
4.1 关键字突出怎么设置:把 ERROR 和 WARNING 一眼挑出来
SecureCRT 的“关键字突出”是我从 Windows 版就一直用的功能。搜索热词里“securecrt关键字突出怎么设置”出现频率很高,说明很多人默认它应该有这个能力,只是没找到入口。这个功能在会话属性能配置,通常在 “Options -> Session Options -> Terminal” 分类里,找到类似于 “Keyword Highlight” 的选项。
配置方式很简单:设置一个关键字为error,选择前景色和背景色;SecureCRT 会实时匹配终端输出里的文本并着色。注意匹配是“文本包含”而不是“单词边界”,如果你写error,它会把errorcode、noerror也标红。我一般直接写ERROR和[ERROR]两个变体,再叠加一个正则规则来匹配数字编号。关键字高亮不改变日志内容,只影响显示,所以可以放心大胆配置。
这个功能在排障时特别有用:一条命令批量回显几百行,眼睛扫一遍全是灰白色,很容易漏掉中间的WARN。把WARN设成黄底,把FAIL设成红底,回显里只要出现异常,你隔着半个办公室都能看到。
4.2 颜色方案和字体:让 vim 和 htop 不翻车
SecureCRT 默认终端类型不一定是 256 色,这会导致远程 vim 颜色发灰、htop 显示成色块。解决方法是把会话属性里的 Terminal Type 改成xterm-256color,并且开启 “ANSI Color” 选项。如果改了终端类型之后效果仍不对,先怀疑远程服务器上的 TERM 环境变量是否覆盖,再回来检查 SecureCRT 的字体。
字体方面,mac 自带的 Menlo 最适合看代码,等宽而且中文对齐良好。我不建议为了“好看”使用苹方,等宽数字在日志对齐时非常重要。字号我习惯用 13,Retina 屏幕上刚好不虚。如果你同时开多个会话,可以降低到 12,避免标签页标题和命令行挤在一起。
4.3 日志记录:保存每次会话输出,排障靠它
运维排障最怕“刚才明明有输出但没保存”。SecureCRT 的日志功能可以让你彻底忘掉这个焦虑。在会话属性里找到 Log 相关的设置,打开自动记录日志,指定一个本地目录,SecureCRT 就把这个会话的所有输出写入文件。
日志文件名支持变量,我用得比较多的是主机名加时间:/Users/你的用户名/Logs/[%HOST%]_[%Y%m%d_%H%M%S].log。其中%HOST%对应会话里的主机名,%Y%m%d是日期。这样的命名方式让日志按主机和时间自然排序,一个月下来也容易归档。需要注意的是,日志记录的是“当前会话启动后的窗口输出”,如果你在会话里用 vi 编辑文件,vi 的交互界面也会被原样记录,日志里会混入大量转义序列。所以长时间跑程序时开日志,进编辑器时可以先关掉日志,或者接受日志里带控制字符。
4.4 按钮栏和按键映射:点一下代替敲十秒
SecureCRT 的按钮栏默认在工具菜单里,开启后会在会话窗口顶部显示一排可点击按钮。每个按钮对应一条或多条命令,点一下就相当于在终端里输入并回车。这个功能非常适合重复操作:比如重启应用、查看磁盘、切换日志目录。
我通常把经常用的长命令拆到按钮上,例如:
| 按钮显示 | 实际命令 |
|---|---|
| top | top -c |
| disk | df -hTF ext4 |
| mem | free -g |
| reset | systemctl restart nginx |
| pwd | pwd && whoami |
mac 用户要注意,SecureCRT 的右键菜单在默认设置下是“粘贴”而不是“复制”。这是因为 macOS 的鼠标右键语义和 Windows 不同。你在远程命令行选了一段文字,按Command+C复制的是远程终端里的选中文本,直接按Command+V粘贴回终端,这个行为和普通 mac 应用一致。习惯之后,我基本不碰右键菜单了。
4.5 多会话管理:一次连接一组设备
当会话文件夹建好以后,你可以使用“打开全部会话”能力。在会话文件夹上右键,选择“连接全部”,SecureCRT 会按顺序打开文件夹下所有会话,每个会话一个标签页。这个功能对批量巡检特别有价值:先连接 10 台服务器,再挨个标签页执行命令,期间不需要重新输入密码,只要认证信息已经保存在会话里。
标签页本身也支持拖拽分组,这在处理“一组前端 + 一组后端”时很有用。SecureCRT 的分组只是界面层面的,不影响会话配置。如果你开得太多,可以用标签页右上角的搜索框过滤,输入关键字就能定位到目标标签页。
5. SecureCRT for mac 避坑手册:安装、连接、license 和 mac 权限的典型翻车
5.1 现象:安装后提示“无法打开,因为 Apple 无法检查其是否包含恶意软件”
很多刚从官网下载的 mac 应用第一次运行都会遇到这个提示,原因是 macOS 的 Gatekeeper 对没有在 App Store 上架的应用做了隔离标记。
原因:应用包带上了com.apple.quarantine属性,系统在首次启动时强制校验开发者签名。
解决:如果你确定文件来自官网,可以通过系统右键菜单选择“打开”,或者在终端去掉隔离属性:
sudo xattr -dr com.apple.quarantine /Applications/SecureCRT.app执行后再从启动台打开就正常了。注意不要对来历不明的 dmg 执行这个命令,这等于绕过系统安全提示,风险需要自己承担。
5.2 现象:SSH 连接报错“no matching host key type”或“Permission denied”
连接一些老旧网络设备时,SecureCRT 偶尔会提示服务器主机密钥算法不匹配。这类设备通常是早年的 Cisco、华为等网络设备,其 SSH 实现还停留在 ssh-rsa 时代,新版 OpenSSH 默认禁用了这个算法。
原因:服务端只支持 ssh-rsa 主机密钥,SecureCRT/OpenSSH 默认不启用该算法。
解决:先用命令行确认一下问题来源:
ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa admin@192.168.1.20如果命令行能连上,说明是算法兼容性问题。回到 SecureCRT,在会话属性的 SSH2 配置里,把 Host Key 算法列表加上 ssh-rsa,并在认证方式里允许 Public Key 使用 RSA 密钥。这类设备通常是老交换机,建议连上后检查是否支持升级 SSH 版本,治标更要治本。
5.3 现象:私钥认证一直失败,最后还是让你输密码
SecureCRT 的密钥认证和 mac 系统 SSH 是两套逻辑。你在系统终端里用ssh -i能连上,到 SecureCRT 里却失败,多是会话配置里没有指定私钥文件。
原因:SecureCRT 不读取~/.ssh/config默认配置,也不自动加载系统 Keychain 里的 ssh 密钥。
解决:在会话属性里,Authentication 选择 Public Key,然后指定 Private Key 路径为~/.ssh/id_ed25519或~/.ssh/id_rsa。如果私钥文件有密码保护,第一次连接时 SecureCRT 会请求 passphrase,可以勾选“保存密码”以避免每次连接都输入。注意私钥文件权限不要给得太开放,mac 上惯例是.ssh目录700,私钥文件600。权限错了,mac 系统 SSH 会拒绝加载,SecureCRT 虽然不一定强制,但最好保持规范。
5.4 现象:连接 console 串口时乱码、无回显,或敲键盘没反应
我在调试嵌入式开发板时遇到过几次“SecureCRT 连上串口但发不出命令”的情况,前面排查半天才发现是流控问题。
原因:USB 转串口线只接了 TX/RX/GND,没接 RTS/CTS 硬件流控,但 Serial 会话里默认或误开了 Flow Control。
解决:在 Serial 会话属性里把 Flow Control 全部关闭。然后检查波特率,一般开发板用 115200,网络设备 console 用 9600。如果还是乱码,尝试 57600、38400 这几个常见档位。另外,mac 的串口设备路径插入后可能变化,每次插拔后重新确认/dev/tty.usbserial-*,不要把路径固定在会话配置里。SecureCRT 的串口会话还支持“断开重连”按钮,调整参数后不需要关闭整个标签页,直接重连更快。
5.5 现象:License 输入后提示无效,或者软件只能用试用模式
这是搜索关键词里“securecrt license”、“激活密钥”出现频率很高的问题。很多用户从网上找了一个注册码,粘进 License 对话框后软件提示错误,然后陷入“再找一个再试一次”的循环。
原因:SecureCRT 新版本对 License 格式有严格校验,且 License 绑定用户信息,旧版注册码、网上流传的公共号根本过不了。
解决:如果你的目的是评估,直接选“试用”继续用,不要反复输入错误序列号。多个错误尝试后,SecureCRT 有可能会回到初始评估状态,浪费本来就有限的试用时间。如果是公司采购,联系官网销售获取正式 License;个人用户想长期用,最可靠的方式是购买正版授权。我见过项目现场为了省一个授权费,用盗版注册码导致软件联没连上,反而耽误了整体调测,这类“省小钱亏大钱”的事情在运维圈里并不少见。
6. 更进一步:用配置备份和自动化技巧,把 mac 上的 SecureCRT 变成可迁移资产
SecureCRT 最值钱的不是安装包,而是你积累下来的会话配置。换电脑、重装系统时,只要把配置目录备份下来,新机器上装好软件后马上能回到原来的工作状态。查找配置目录的通用命令:
CRT_DIR=$(find ~/Library -type d -path '*SecureCRT*Sessions' 2>/dev/null | head -1) echo "$CRT_DIR"确认路径后,打包整个配置目录,备份到网盘或者你习惯的同步目录:
tar -czf ~/securecrt-backup-$(date +%F).tar.gz "$CRT_DIR"这个 tar 包就是你的后悔药。恢复时先装好 SecureCRT,关闭应用,再解压覆盖到相同位置。版本升级前也建议打一个包,因为新版本可能会改写旧配置文件的格式,虽然官方一般兼容,但有备份总比半夜翻车强。
另一个我常用的技巧是配合按钮栏做“临时验证”。比如在会话里执行一个长任务,我不喜欢盯着屏幕等,会给按钮设成先clear、再跑命令、最后自动打印出返回码,这样回来的时候只看最后一行就知道成功还是失败。
最后提一个习惯:我现在每次给客户交付 mac 运维环境,都会把 SecureCRT 配置目录和常用按钮栏规则一并拷给对方,同时写两行字说明“会话文件里保存的主机名、密码是否敏感”。如果你也打算把一套环境复用到另一台 mac,记得梳理一下会话里有没有存生产密码,别把测试配置和生产配置混在一个备份包里。这些小事情,遇到一次就能长记性,希望我的这些经验能帮到你。
本文还有配套的精品资源,点击获取