V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
PqgpNgA0wk
V2EX  ›  macOS

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

  •  
  •   PqgpNgA0wk · 6 天前 · 1683 次点击

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

    image.png

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

    另外从 Application 的层次这东西也很难保护,你总得给 Terminal 整个 Home 目录甚至全盘的权限很多 workflow 才能正常运行,给了 Terminal 权限等于所有的脚本和命令行程序都能访问,那也没啥区别呀
    ihciah
        9
    ihciah  
       6 天前 via iPhone
    用 secretive ,私钥放硬件里提不出来,只签名
    ZE3kr
        10
    ZE3kr  
       6 天前 via iPhone
    1Password 的话可以这个 https://developer.1password.com/docs/ssh/
    ZE3kr
        11
    ZE3kr  
       6 天前 via iPhone
    也不是,非 App Store 开发者也可以选择开启 sandbox ,开 sandbox 后本质上就跟 iOS Apps 一样隔离了;只不过开发者可以选择不开。App Store 一般情况得开 sandbox
    niubee1
        12
    niubee1  
       6 天前
    HOME/.ssh 并没有什么特殊权限,你登陆的账号就有权限访问,而你在当前 Session 打开的应用,那不天然就是这个登陆帐号启动的,那不是天然就有权限咯。
    paopaosa
        13
    paopaosa  
       6 天前
    不上架的 app ,不需要开沙盒模式,用户目录下的东西随便读写。
    PqgpNgA0wk
        14
    PqgpNgA0wk  
    OP
       5 天前
    @dilidilid @DIMOJANG @bao3 @Irilsy @ihciah @ZE3kr 感谢大家的科普和建议,我这就去研究研究 [抱拳]
    zhyim
        15
    zhyim  
       5 天前 via iPhone
    .ssh 属于用户,安装的软件也属于用户,他俩同级的当然可以访问了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5412 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 07:09 · PVG 15:09 · LAX 23:09 · JFK 02:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.