为啥 macOS 非应用市场安装的应用可以读取 .ssh 目录下的密钥

10 小时 37 分钟前
 PqgpNgA0wk

起因是试用了下腾讯出的 ugit,然后在设置界面里看到了本机 ssh 密钥列表,这是不是意味着非应用市场安装的应用可以在没有全盘读取权限时也能读取到这些私密文件,莫非 config 文件也能读,感觉不太好了..

732 次点击
所在节点    macOS
8 条回复
moudy
9 小时 3 分钟前
这就是最传统的可执行程序的逻辑啊
dilidilid
8 小时 57 分钟前
不然呢,你的.ssh 目录就是用户可读的权限呀。所以一概建议重要设备上的 ssh 密钥加上 passphrase ,然后每次启动之后 ssh-add 进去。如果嫌麻烦可以加到 keychain 里去自动挂载
huoshen
8 小时 55 分钟前
@dilidilid 请问 keychain 自动挂载是什么意思?
DIMOJANG
7 小时 18 分钟前
bao3
5 小时 51 分钟前
你放在 home 目录下的文件,不就是要供你自己打开程序来读取嘛。不光能读 .ssh , 那些什么 .bashrc ,.zshrc 以及什么 documents 、downloads 都可以读。
简单来说,你要确保你打开的程序是可信的。
Irilsy
5 小时 10 分钟前
建议在生成 key 的时候设置密码( passphrase),然后用 `ssh-add --apple-use-keychain` 存进 icloud keychain ,每次开机的时候 `ssh-add --apple-load-keychain` 把所有的 passphrase 导入 ssh-agent 中就行,这时候 passphrase 都是保存在内存中的了,不怕读取了,app 能读到的私钥都是加密的。
lovestudykid
2 小时 40 分钟前
搞不太懂苹果的权限逻辑,好像对 Documents/Downloads 这些文件夹有额外的权限
dilidilid
1 小时 30 分钟前
@lovestudykid 可能在苹果看来这些 User Folders 属于普通用户会使用的文件夹需要专门保护一下,.ssh 则属于 Pro 用户才会使用的东西,Pro 用户应该自己对这些组件的安全性负责。

另外从 Application 的层次这东西也很难保护,你总得给 Terminal 整个 Home 目录甚至全盘的权限很多 workflow 才能正常运行,给了 Terminal 权限等于所有的脚本和命令行程序都能访问,那也没啥区别呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1087897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX