简介:SecureCRT for Mac 是 macOS 平台上一款常用的 SSH/Telnet 终端连接工具,面向需要远程管理 Linux 服务器、网络设备或运行命令行程序的开发与运维人员。资源包共 822 个文件,压缩后约 30.45MB,主要包含 htm 格式的帮助文档、js 脚本、dylib 动态库、plist 配置以及大量 bmp/tiff 界面图片,覆盖程序运行所需的完整组件与界面资源,解压后即可便捷使用。已有 1271 人学习下载,在同类 Mac 远程连接工具资源中具备一定参考价值。包内不仅提供核心可执行程序,还附带功能配置示例与图形按钮素材,可帮助用户快速熟悉连接会话、快速连接等常用操作的界面逻辑,节省自行寻找和整理组件的时间。
1. 从 iTerm2 换到 SecureCRT for mac:多协议运维的落差与选择
做运维头两年,我也觉得 Mac 上有个免费终端就够了,直到有一天要同时登 Linux 服务器、连交换机 console 口、传文件、还要看串口日志,iTerm2 加一堆命令行工具的组合就开始捉襟见肘。SecureCRT for mac 是 VanDyke Software 出品的商用 SSH 客户端,支持 SSH1/SSH2、Telnet、Rlogin、Serial、TAPI 等协议,核心卖点是会话管理、脚本自动化和跨平台一致的体验。这篇文章写给两类人:一类是刚转到 Mac 上做运维、正在找「mac 好用的 ssh 工具」的从业者;另一类是已经在用 SecureCRT,但只把它当普通终端用、想挖一挖日志和脚本能力的熟手。我会把安装、配置、常见翻车现场和进阶技巧一次讲透。
2. 在 macOS 上装好 SecureCRT:安装方式、授权机制与首次启动配置
2.1 先分清三件事:SecureCRT、VanDyke 套件与 macOS 权限模型
很多人第一次搜「SecureCrt for mac」,会同时看到 SecureCRT、SecureFX 两个名字,再往下翻还有 SecureCRT 汉化补丁、注册机之类的东西。SecureCRT 是终端仿真客户端,SecureFX 是图形化文件传输客户端,两个是独立产品,也可以一起买。我这里只讲 SecureCRT 本体,SFTP 场景用 SecureCRT 自带的 SFTP 标签页就能覆盖大部分需求,不一定需要 SecureFX。
装之前还要理解 macOS 的权限模型。SecureCRT 的配置文件、日志目录、license 文件都存在用户目录下,而不是像 Windows 那样装在 Program Files。默认路径是~/Library/Application Support/VanDyke/SecureCRT/,密钥、会话配置、全局选项都在这里。搞清楚这个路径,后面排查配置丢失、日志写不进去会省很多时间。
2.2 用 Homebrew 安装还是官网下载 dmg:两条路线的取舍
常见做法是先用 Homebrew 搜一下:
brew search securecrt如果有 cask 输出,可以直接装:
brew install --cask securecrt但这里有个坑:Homebrew 的 cask 仓库更新速度和 VanDyke 官方发版节奏不一定同步,而且 cask 安装的是评估版,照样需要 license。我的习惯是直接去官网下 dmg,原因有两个:一是版本新,二是 dmg 里带的是官方签名包,Gatekeeper 不会拦。用 Homebrew 装也可以,但装完首次打开如果被 macOS 拦,需要在「系统设置 → 隐私与安全性」里手动允许,这个后面会细说。
官网下载的 dmg 安装包是标准的拖拽安装:
# 下载完成后挂载 dmg hdiutil attach ~/Downloads/SecureCRT*.dmg # 把 app 拖到 Applications cp -R "/Volumes/SecureCRT/SecureCRT.app" /Applications/ # 卸载 dmg hdiutil detach /Volumes/SecureCRT这个流程里最关键的一步是hdiutil attach之后,看清楚挂载点写的是什么,不同版本的卷标不一样。如果你用的是 Finder 拖拽安装,可以跳过命令行;但我建议至少用一次hdiutil命令,因为后面排查「磁盘映像已损坏」这类报错时,你得知道 dmg 校验和怎么查。
2.3 评估版、license 文件与首次启动配置
首次启动 SecureCRT,它会进入评估模式,30 天试用。评估期到了不激活,程序还能打开但连接会被禁用。激活方式是导入 license 文件,不是输入序列号。这个细节很多人搞错——从官网买的授权,发到你邮箱的是一个license.zip,解压后是.lic文件。
注意:不要在评估期内就把生产环境的会话全部迁过来。评估版的连接数限制和正式版不一样,而且等 license 导入后,部分会话配置需要重新关联,先搭好环境再决定是否采购,别急着全量迁移。
首次启动还建议顺手做几件事:把「检查更新」关掉,避免小版本升级把会话配置顶掉;把「自动保存日志」的默认目录改到~/Documents/SecureCRT/Logs/,而不是默认的~/Library/Logs/。这两个设置都在「全局选项 → 常规」里。日志这块后面有一整章讲,这里先留个印象。
3. 把 SSH 会话跑通:主机、密钥、终端模拟与外观参数
3.1 新建 SSH 会话的最小配置:主机、端口、用户名与认证方式
点「文件 → 连接」,再点「新建会话」,协议选 SSH2,然后就到了最核心的一屏:主机名、端口号、用户名、认证方式。我见过不少人在这里只填了主机名和用户名,认证方式默认是「密码」,结果每次连接都要敲两次密码,还以为是 SecureCRT 的问题。
新建会话时认证方式有四个选项:密码、键盘交互、公钥、GSSAPI。日常运维选「公钥」最省事,但首次配置建议先选「密码」把链路跑通,再切公钥。原因很简单:如果公钥配置有问题,你能确定是密钥的问题而不是网络的问题;反过来一上来就配公钥,连不上时排查范围一下子变大。
最小配置操作如下:
- 协议选 SSH2,主机名填目标 IP 或域名,端口默认 22。
- 用户名填登录账号。
- 认证方式先选「密码」,登录后测试连接。
- 确认能连上后,回到会话属性,把认证方式改成「公钥」,并指定密钥文件。
端口号这里有个容易忽视的点:如果目标机器改了 SSH 端口,SecureCRT 会在会话列表里显示成hostname:2222这种格式,复制给别人时注意别把端口漏了。另外,会话属性里的「登录动作」支持发送用户名和密码的自动化脚本,但这个后面按钮栏部分会讲,会话本身不建议开自动登录,避免密码被明文记录。
3.2 终端模拟与外观参数:为什么字体和颜色方案值得先调好
SecureCRT 的终端模拟默认是 xterm,绝大多数 Linux 服务器都没问题。但如果你要连网络设备的 console 口或者老 Unix 系统,模拟方式可能要切到 VT100 或者 ANSI。这个设置在「会话选项 → 终端 → 仿真」里,改完记得点「确定」而不是直接关窗口,不然不会生效。
字体这块是血泪经验。默认字体在 Retina 屏上偏小,而且等宽字体选不对,代码缩进全是歪的。我一般这样配:
- 字体选 Menlo Regular,字号 12 或 13。
- 勾选「使用 Unicode 字符集」,否则中文注释和日志里的特殊符号会显示成方块。
- 字符编码选 UTF-8,这个在「会话选项 → 终端 → 外观 → 字符编码」里。
颜色方案不要用 SecureCRT 自带的「传统」配色,对比度太低,看日志容易漏行。我常用的是把背景改成深蓝灰(RGB #1E1E1E),前景改浅灰(#D4D4D4),再把「光标颜色」改成亮橙色,找光标位置快很多。这个配置可以导出成主题文件,团队里统一分发,比每个人自己调半天要省事。
3.3 把公钥认证跑通:ssh-keygen + SecureCRT 密钥导入
公钥认证是 SecureCRT 在 Mac 上最值得做的事,省掉的是一次次输密码的重复劳动。先在本机生成密钥对:
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519生成完把公钥放到服务器上:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip然后打开 SecureCRT 的会话属性,在「认证 → 公钥」里点「属性」,选择使用本机的~/.ssh/id_ed25519私钥文件。这里有个 mac 专属的坑:如果你用 macOS 自带的ssh-keygen生成的密钥,默认是 OpenSSH 格式,SecureCRT 能直接读;但如果你的密钥是从 Windows 那边拷贝过来的 PuTTY 格式(.ppk),SecureCRT 不认,需要先转换。
PuTTY 格式转换用puttygen命令:
puttygen id_rsa.ppk -O private-openssh -o id_rsa_openssh没有 puttygen 的话,先brew install putty装上。转换完再把id_rsa_openssh导入 SecureCRT。这个问题在混合办公环境里很常见,Windows 的密钥文件直接拖到 Mac 上用,十有八九要踩。
3.4 会话管理器:分组、标签与快速连接栏
会话树建起来之后,服务器多了就得分组。右键会话列表可以新建文件夹,把生产环境和测试环境的会话分开。分组的价值不只是视觉整理——SecureCRT 的「连接全部标签页」可以一键打开一个分组下的所有会话,批量看日志的时候非常方便。
快速连接栏(Quick Connect)适合临时连一台不常登录的机器,不用为它专门建会话。但要注意,Quick Connect 连接过的信息会保留在历史记录里,敏感环境下用完记得清掉历史。
4. SecureCRT for mac 的日志与自动化:保存日志为文件、按钮栏与脚本
4.1 保存日志为文件:按会话自动记录操作审计
「securecrt 保存日志为文件」是很多人搜索的需求,因为 Mac 上没有 Windows 上的那种记事本式审计工具,SecureCRT 的日志功能就变成了标准答案。开启方式有两种:全局开启和按会话开启。全局开启在「全局选项 → 常规 → 日志文件」,按会话开启在「会话选项 → 终端 → 日志文件」。
我推荐按会话开启,并且把文件名模板写成这样:
[%Y%m%d_%H%M%S]_[%HOSTNAME].log这个模板的意思是:日志文件名带年月日时分秒和主机名,比如20250614_143522_web01.log。为什么要带主机名?因为日志文件是追加写的,如果两台服务器的会话共用同一个日志文件,审计的时候就分不清哪条命令是在哪台机器上敲的。
日志文件格式有几个参数需要说明:
[%Y%m%d]:按天生成新文件,适合长期挂着的会话。[%Y%m%d_%H%M%S]:每次连接生成一个文件,适合短会话和审计场景。- 「在以下时间向日志文件中追加行」选「每个字符」,这样日志实时写入,不是等命令结束才落盘;但缺点是日志文件会很大,磁盘紧张时要慎重。
- 「将日/月/年应用于日志文件名」勾选,否则某些语言环境下日期格式会变成
MM/DD/YYYY这种反人类格式,排序会乱。
开启日志后,如果你发现日志文件是空的,先去检查目录权限。macOS 对~/Library/Logs/以外的目录写入没限制,但如果你把日志路径指定到/Library/Logs/SecureCRT/这种系统目录,SecureCRT 是写不进去的,它会静默失败,不报错。我建议日志目录一律放~/Documents/SecureCRT/Logs/,省心。
4.2 用按钮栏和 VBS 脚本把高频操作变成一键命令
SecureCRT 的「按钮栏」是它比普通终端强一大截的地方。按钮栏可以放自定义按钮,每个按钮绑定一段脚本或一串命令,点击即发送到当前会话。对 Mac 用户来说,这就是把运维操作从「一行行敲命令」变成「点一下按钮」的效率提升。
打开方式:「查看 → 按钮栏」。默认有几个示例按钮,可以直接右键编辑,改成自己想要的命令。比如我做了一个「查看磁盘」按钮,选中后编辑,命令栏填:
df -h; echo '---'; iostat -d 2 1这个按钮的执行逻辑是:把命令发送到当前激活的会话窗口,命令之间的分号;是 shell 语法,表示不管前一条成功与否都执行下一条。echo '---'只是分隔线,方便区分两条命令的输出的起点。
按钮栏还能绑定 VBScript 脚本,这在需要交互的时候很有用。比如登录后自动切换目录并执行某个服务的管理命令:
' 按钮栏脚本:登录后进入应用目录并查看进程状态 Sub Main ' 给目标会话发送一条命令 crt.Screen.Send "cd /opt/app && ./status.sh" & vbCr End Sub逻辑说明:crt.Screen.Send是 SecureCRT 的 VBScript 接口,作用是把后面的字符串当作键盘输入发送给会话。结尾的vbCr模拟回车键,相当于你手动敲完命令再按 Enter。这里的&&和上面的;不一样:&&只有前一条命令成功才执行后一条,适合依赖前置条件的场景。
脚本写好之后,在按钮编辑窗口的「动作」里选「运行脚本」,然后指定.vbs文件路径。要注意的是:SecureCRT 的脚本在 macOS 上用的是系统自带的 VBScript 引擎支持,不需要额外安装运行时,但脚本文件的编码必须是 UTF-8,如果脚本里有中文注释,文件编码不对会报语法错误。
4.3 会话参数批量修改:直接用配置文件改
服务器多的时候,一个一个改会话参数效率太低。SecureCRT 的会话配置本质上是.ini文件,存在~/Library/Application Support/VanDyke/SecureCRT/Config/Sessions/目录下。想批量改所有会话的日志开关,可以直接用文本处理工具改这些文件。
我经常用 bash 加 sed 批量调整:
cd ~/Library/Application\ Support/VanDyke/SecureCRT/Config/Sessions/ # 备份 cp -r . ~/Desktop/securecrt_sessions_backup_$(date +%Y%m%d) # 批量把 Log File Name 模板改成带主机名的格式 find . -name "*.ini" -exec sed -i '' \ 's#S:\"Log File Name\"=.*#S:\"Log File Name\"=[%Y%m%d_%H%M%S]_[%HOSTNAME].log#' {} +说明:find找到所有.ini会话文件,sed -i ''是 macOS 下 sed 不加备份后缀的写法,和 Linux 下的sed -i不一样。改的是Log File Name这个键的值,让它使用带时间戳和主机名的模板。批量改完,需要完全退出 SecureCRT 再启动,它才会重新读取这些配置。
这条命令要小心:备份放在Desktop/securecrt_sessions_backup_*里,万一改坏了能恢复。改配置之前最好把 SecureCRT 退出,否则它可能在退出时把内存中的旧配置写回去,覆盖你刚改好的文件——这是个典型的「改了等于没改」的坑。
4.4 日志同步与轮转:长期挂机场景的日志管理
日志功能开着,长期挂机不关,日志文件会越来越大。SecureCRT 没有内置轮转,但你可以配合 macOS 的logrotate或者定期脚本做清理。一个简单的 shell 条件是:日志文件超过 100MB 就归档并压缩。
find ~/Documents/SecureCRT/Logs -name "*.log" -size +100M -exec gzip {} \;这条命令会把超过 100MB 的日志压缩成.log.gz并保留原文件名的前缀,不会删除原始记录,只是压缩归档。真正常用的方式是按天生成日志文件,配合一个 cron 任务每周清理 30 天前的压缩包:
find ~/Documents/SecureCRT/Logs -name "*.gz" -mtime +30 -delete注意:两条find命令的过滤条件不一样,第一条抓大文件,第二条抓旧文件。如果你只跑第二条,小于 100MB 的旧日志不会被清理;只跑第一条,大文件压缩了但旧 gz 没删,磁盘还是会被占满。
5. SecureCRT for mac 的 5 个避坑现场:注册机、乱码、升级崩溃与密钥导入
5.1 注册机与破解版:为什么我强烈劝退
每次搜「SecureCRT 注册激活」都会带出一堆注册机、激活码、汉化补丁下载链接。SecureCRT 是商业软件,网上流传的注册机和破解版有几个实打实的风险:一是破解版 dmg 经常捆绑广告插件或挖矿程序,macOS 对这类签名不规范的应用会拦截,但总有人关掉 Gatekeeper 强行装;二是注册机生成的 license 文件在版本升级后大概率失效,你到时候还是要回退到旧版本,而旧版本往往有安全漏洞;三是公司环境里用盗版工具做生产运维,合规审计一查一个准。
我的建议是:先用评估版把方案跑通,确认 SecureCRT 对你是刚需,然后向公司申请采购或者个人购买。个人版价格不高,和它省下的时间比完全值得。如果你只是偶尔连几台服务器,免费方案 iTerm2 +~/.ssh/config其实也能满足,不必为了这个动注册机的心思。
5.2 中文乱码的根因:字符编码与字体缺字
现象:SecureCRT 连上 Linux 服务器后,中文显示成???或乱码方块,用 locale 查看服务器是UTF-8,命令行的中文完全正常,SecureCRT 里就是乱。
原因分为两层。第一层是字符编码不匹配:服务器输出是 UTF-8,SecureCRT 的会话字符编码是默认的Latin-1,两者对不上。第二层是字体问题:就算编码切到了 UTF-8,如果字体不支持中文字形,照样显示方块。
解决步骤:
- 打开会话属性 → 终端 → 外观 → 字符编码,选
UTF-8。 - 字体改为
Menlo或PingFang SC,前者是等宽中英文混合排版,后者是系统中文黑体。 - 检查服务器的
locale命令输出,确认LANG是en_US.UTF-8或zh_CN.UTF-8。如果服务器 locale 是空的,SSH 连接时 SecureCRT 可能因为没有接收到字符集信息而回退到默认编码。
关于第三点有个常见误解:很多人以为 SecureCRT 的编码设置会覆盖服务器的LANG,实际上不会。服务器发送的字节流是什么编码,SecureCRT 就用什么编码显示,两端必须一致。所以服务器上LANG=C或没配置 locale,SecureCRT 这边再怎么改也是白搭。
5.3 macOS 升级后 SecureCRT 无法启动
现象:macOS 大版本升级后(比如从 13 升到 14),SecureCRT 双击没反应,或者提示「无法打开,因为无法验证开发者」。
原因:macOS 对未公证(notarized)的应用签名校验变严格了,老版本的 SecureCRT 没有兼容新版系统的公证信息。另外还有可能是许可证文件路径变化导致的崩溃。
解决:优先去官网下载最新版重新安装,安装时不要覆盖旧的配置目录(默认不会覆盖)。如果只是「无法验证开发者」的提示,在「系统设置 → 隐私与安全性」里点「仍要打开」。如果重新安装后还是启动崩溃,删除配置文件再试:
# 备份原配置 mv ~/Library/Application\ Support/VanDyke/SecureCRT \ ~/Library/Application\ Support/VanDyke/SecureCRT_bak然后再打开 SecureCRT,程序会生成全新默认配置。确认能启动后,不要直接把备份配置整个拷回去——大概率旧配置里某个过期参数又触发崩溃。正确做法是先把备份里的 Sessions 目录单独恢复回去,全局选项重新设置。
5.4 密钥导入失败:OpenSSH 格式与 PuTTY 格式的差异
现象:在 Windows 上用的 PPK 密钥复制到 Mac 上,导入 SecureCRT 时报错「无法加载私钥文件」或「格式错误」。
原因:SecureCRT 在 macOS 上对 PuTTY 的.ppk格式支持不完整,尤其是新版 PuTTY 的密钥格式。之前在 3.3 里说过用puttygen转换,这里再补充一个更彻底的办法:
# 生成一个新的 OpenSSH 格式密钥并重新部署 ssh-keygen -t rsa -b 4096 -f ~/.ssh/for_securecrt -C "securecrt-mac"然后把公钥追加到服务器的authorized_keys文件里。这个办法比转换旧密钥更干净,原因是旧密钥的加密类型(比如 ssh-rsa)在新版 OpenSSH 服务器上可能被禁用,即使格式转换成功,也会因为服务器端不支持而认证失败。如果你的服务器开启了PubkeyAcceptedAlgorithms限制,还得在服务器端加上ssh-rsa才能用旧密钥——与其这样,不如直接生成新密钥。
5.5 日志文件不写入或路径权限报错
现象:日志功能开了,文件也没生成;或者 SecureCRT 提示「无法创建日志文件」。
原因通常是两个。第一,日志目录不存在,SecureCRT 不会自动创建多层目录,你填了~/Documents/SecureCRT/Logs/但 Logs 文件夹不存在,它就会失败。第二,路径权限问题,特别是把日志放在/tmp或系统目录下。
解决:
mkdir -p ~/Documents/SecureCRT/Logs/创建完目录后,回到 SecureCRT 会话选项里重新点一下「确定」,让配置重新写入。如果还不行,检查路径是不是带了多余的空格或者用了~符号——SecureCRT 的 macOS 版对配置路径里的~展开处理不稳定,建议在配置界面里填写绝对路径,比如/Users/你的用户名/Documents/SecureCRT/Logs/,而不是~/Documents/SecureCRT/Logs/。
6. 让 SecureCRT 更顺手:钥匙串、多标签与命令窗口的组合习惯
安全地向 macOS 原生体验靠拢,有几个设置是我每台 Mac 上都会改的。
第一件,把密码交给 macOS 钥匙串。在「全局选项 → 常规 → 密码」里勾选「使用操作系统钥匙串」或直接勾选「保存密码」,SecureCRT 会调用 Keychain 存储密码,而不是把密码明文写在配置文件里。好处是密码不会出现在会话文件的纯文本中,而且你只需要在钥匙串访问弹窗里授权一次。缺点是你换了一台机器就得重新授权一次,但对个人机器完全够用。
第二件,多标签和垂直分屏的快捷键习惯。SecureCRT 在 Mac 上的标签切换快捷键是Command+数字键,垂直分屏是Command+Shift+W或从「窗口」菜单里选「在两侧」和「在上下板」。我的习惯是左边放生产服务器的日志 tail,右边放跳板机用来敲查询命令,两边同时滚动互不干扰。注意分屏后焦点切换键是Command+[和Command+],不是 Ctrl+Tab,刚迁移过来的人容易按错。
第三件,命令窗口(Command Window)和主机名高亮的组合。命令窗口是一个特殊标签页,你输入一条命令,可以选择把这条命令同时发送到所有标签页或指定标签页。配合会话属性里「终端 → 显示 → 突出显示」的主机名匹配规则,批量改配置时可以快速分辨每台服务器的回显。我常在凌晨做版本发布时用这个:在命令窗口里输入systemctl restart nginx,只发给生产组的 4 个会话标签,然后逐个看回显,而不是一个个切标签页重复敲命令。
最后一件事,关于自动化脚本的编写习惯,我建议把常用的脚本放在~/securecrt-scripts/目录下,命名带协议和用途,比如ssh_restart_service.vbs、serial_switchport_reset.vbs。这些脚本通过配置文件同步(比如 iCloud Drive 或内部 git 仓库)就能在多台 Mac 上保持一致。我吃过一次亏:脚本直接写桌面上的临时文件,换电脑后按钮栏的脚本路径全部失效,重新配了一下午。从那以后我再也不用非持久化路径存脚本了。
希望这些经验能让你在 SecureCRT for mac 上少踩几个坑,把省下来的时间花在真正需要处理的问题上。
本文还有配套的精品资源,点击获取