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

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

  •  
  •   PqgpNgA0wk Nov 8, 2024 3184 views
    This topic created in 575 days ago, the information mentioned may be changed or developed.

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

    image.png

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

    另外从 Application 的层次这东西也很难保护,你总得给 Terminal 整个 Home 目录甚至全盘的权限很多 workflow 才能正常运行,给了 Terminal 权限等于所有的脚本和命令行程序都能访问,那也没啥区别呀
    ihciah
        9
    ihciah  
       Nov 9, 2024 via iPhone
    用 secretive ,私钥放硬件里提不出来,只签名
    ZE3kr
        10
    ZE3kr  
       Nov 9, 2024 via iPhone
    1Password 的话可以这个 https://developer.1password.com/docs/ssh/
    ZE3kr
        11
    ZE3kr  
       Nov 9, 2024 via iPhone
    也不是,非 App Store 开发者也可以选择开启 sandbox ,开 sandbox 后本质上就跟 iOS Apps 一样隔离了;只不过开发者可以选择不开。App Store 一般情况得开 sandbox
    niubee1
        12
    niubee1  
       Nov 9, 2024
    HOME/.ssh 并没有什么特殊权限,你登陆的账号就有权限访问,而你在当前 Session 打开的应用,那不天然就是这个登陆帐号启动的,那不是天然就有权限咯。
    paopaosa
        13
    paopaosa  
       Nov 9, 2024
    不上架的 app ,不需要开沙盒模式,用户目录下的东西随便读写。
    PqgpNgA0wk
        14
    PqgpNgA0wk  
    OP
       Nov 9, 2024
    @dilidilid @DIMOJANG @bao3 @Irilsy @ihciah @ZE3kr 感谢大家的科普和建议,我这就去研究研究 [抱拳]
    zhyim
        15
    zhyim  
       Nov 10, 2024 via iPhone
    .ssh 属于用户,安装的软件也属于用户,他俩同级的当然可以访问了
    About     Help     Advertise     Blog     API     FAQ     Solana     894 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 48ms UTC 20:44 PVG 04:44 LAX 13:44 JFK 16:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86