◆

Termius 终端安装与钥匙串密码问题解决

2024-09-27 02:250

安装地址

https://download.csdn.net/download/weixin_40013817/89803671

Termius 想要你存储在钥匙串中的 Termius 中的机密信息

场景

每次打开 Termius 都提示要输入密码,而密码每次输入都不对

解决方法

  • 打开应用钥匙串访问,默认左侧 tab 位于登录
    • 如果 tab 位于登录时,右侧的密码框中没有东西,可以尝试切换左侧 tab
  • 在搜索栏中搜索 Termius,然后找到对应的项进行删除即可
termius终端

这个弹窗为什么会反复出现

macOS 的钥匙串(Keychain)是系统级的凭据存储,每个应用往里面写条目时,系统会记录「哪个应用有权访问这个条目」。这个授权是绑定到应用的代码签名上的。

弹窗反复出现、且输密码不对,通常是下面几种情况之一:

一是应用签名变了。你从非官方渠道下载的安装包(比如破解版、重打包版)签名和原版不同;或者应用被修改过(改过图标、注入过插件)。系统发现签名不匹配已有的授权记录,就重新要求授权。此时它要的是你的 Mac 登录密码(用来解锁钥匙串),不是 Termius 的账号密码——很多人在这里输错了对象,所以「怎么输都不对」。

二是钥匙串条目损坏。钥匙串数据库出现不一致时,应用读取失败但系统仍认为条目存在,于是陷入「读不出来 → 要授权 → 授权后还是读不出来」的循环。删掉条目让应用重建是唯一的解法,也就是正文的做法。

三是登录钥匙串的密码和账户密码不一致。这个情况在改过系统密码(尤其是通过其它管理员账户或者恢复模式重置密码)之后会出现:账户密码变了,但登录钥匙串还锁着旧密码。表现就是所有需要钥匙串的应用都反复要密码,且输新密码不对、输旧密码能过。

三种情况的对应处理

签名变了 / 条目损坏 → 删条目,就是正文的做法。补充几个细节:

打开「钥匙串访问」(Spotlight 搜 Keychain Access,中文系统搜「钥匙串」)。左侧的钥匙串列表要注意看:

  • 登录 — 跟着你的用户账户,登录时自动解锁。大部分应用密码在这里。
  • 本地项目 / iCloud — 同步到 iCloud 的条目。
  • 系统 — 系统级凭据(Wi-Fi 密码等),需要管理员权限。

正文提到「如果 tab 位于登录时右侧没有东西,可以尝试切换 tab」,就是因为条目可能存在 iCloud 钥匙串而不是本地登录钥匙串里。搜索时把左侧选到「所有项目」能一次搜全。

删之前可以先双击条目看一眼「访问控制」标签页,确认它确实属于 Termius。删除是不可逆的,删错了别的应用的条目,那个应用也要重新登录一次(不会有数据损失,只是要重新输密码)。

macOS 13(Ventura)之后系统设置里的「密码」面板接管了一部分展示,但「钥匙串访问」这个 App 依然存在且功能完整,处理这类问题还是用它。

登录钥匙串密码不一致 → 用钥匙串访问的「编辑」→「更改钥匙串 登录 的密码」,输入旧密码后设成新的账户密码。如果旧密码彻底忘了,只能重置登录钥匙串(会丢失里面所有已存的密码):钥匙串访问 → 偏好设置 → 「恢复我的默认钥匙串」。

顺手排查:应用有没有被系统隔离

从浏览器下载的 .dmg 会被打上隔离标记(com.apple.quarantine),首次打开时 Gatekeeper 会拦一下。如果应用签名有问题,可能出现各种奇怪的行为(包括钥匙串访问异常)。查看某个应用有没有隔离标记:

xattr -l /Applications/Termius.app

看到 com.apple.quarantine 就是被标记了。正常从官网下载的正版应用,双击打开时点「打开」确认一次之后标记就没了,不需要手动处理。

我不建议在这里给出移除隔离属性的命令。那个操作会绕过 macOS 的安全校验,对来源不明的安装包这么做风险很实在——尤其是 SSH 客户端这类会拿到你所有服务器凭据的软件,被替换过的版本可以静默上传你的私钥。

这一点值得单独强调:SSH 客户端应该只从官方渠道获取。Termius 官网是 termius.com,有免费版,个人用途的核心功能(SSH 连接、密钥管理、多标签)都在免费版里。付费版加的是跨设备同步、SFTP、端口转发的 GUI 之类的增强功能。为了省这个订阅费用一个来源不明的重打包版本,赌的是你所有服务器的控制权,账算不过来。

换个思路:也许不需要 Termius

Termius 的价值在于图形化的主机管理、跨设备同步、以及移动端 App(iOS/Android 上连服务器确实好用)。但如果你主要在 Mac 上工作,原生的 ssh 加一份配置文件能覆盖它绝大部分的桌面功能,而且零成本、无同步风险。

核心是 ~/.ssh/config:

# 全局默认
Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3
    AddKeysToAgent yes
    UseKeychain yes

# 一台业务服务器
Host prod-web
    HostName 203.0.113.10
    User deploy
    Port 22
    IdentityFile ~/.ssh/id_ed25519_prod

# 通过跳板机访问内网机器
Host internal-db
    HostName 10.0.1.20
    User admin
    ProxyJump prod-web

配好之后连接就是:

ssh prod-web

几个参数说明一下:

  • ServerAliveInterval 60 — 每 60 秒发一个心跳包,防止长时间不操作被 NAT 或防火墙断开。这是最实用的一项,解决「挂着一会儿就断」的问题。
  • AddKeysToAgent yes — 首次用某个密钥时自动加进 ssh-agent,之后不用反复输密钥的 passphrase。
  • UseKeychain yes — macOS 专属,把密钥的 passphrase 存进钥匙串,重启后也不用重新输。这一项只有 macOS 的 ssh 支持。
  • ProxyJump — 跳板机(堡垒机)配置,比老的 ProxyCommand ssh -W 写法简洁。配好之后连内网机器就像直连一样,中间那一跳完全透明。

生成密钥用 ed25519,比 RSA 更短更快且安全性足够:

ssh-keygen -t ed25519 -C "your_email@example.com"

把公钥传到服务器:

ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@203.0.113.10

ssh-copy-id 在 macOS 上不是自带的,brew install ssh-copy-id 可以装,或者手动把公钥内容追加到服务器的 ~/.ssh/authorized_keys。

终端 App 方面,iTerm2(免费)或 Warp、Ghostty 都比系统自带的 Terminal 好用,配合 ~/.ssh/config 的 Host 名有补全,体验不比 Termius 差。多会话管理用 tmux,还有个额外好处:连接断了会话不丢,重连后 tmux attach 就回到原来的状态,这是任何 SSH 客户端都给不了的。

我自己的用法是:Mac 上纯 ssh + iTerm2 + tmux,手机上用 Termius(这确实是移动端最好的选择)。桌面和移动端的需求本来不一样,不必强求同一个工具。

💬留言板0

还没有留言,来发表第一条吧~

PAGE LOAD / LIVETermius 终端安装与钥匙串密码问题解决加载中