You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

SSH远程连接Mini Mac后使用Git无需输入密码的配置方法咨询

SSH远程连接Mini Mac后使用Git无需输入密码的配置方法咨询

嗨,我来帮你搞定这个头疼的问题!这种情况通常是因为SSH远程会话没拿到本地终端里已经存好的Git凭据,或者凭据助手的配置在SSH环境下没生效。下面是几个实用的解决办法,你可以挨个试试:

  • 检查并统一Git凭据助手配置
    先在直接操作Mini Mac的本地终端里跑这个命令,看看当前用的凭据助手是什么:
    git config --global credential.helper
    正常Mac环境下应该输出osxkeychain——它会帮你把Git账号密码存在系统钥匙串里。
    然后SSH远程登录Mini Mac后,再跑一遍同样的命令,如果输出不一样,就全局设置成osxkeychain:
    git config --global credential.helper osxkeychain

  • 允许SSH会话访问系统钥匙串
    打开Mini Mac上的「钥匙串访问」应用,搜索和Git相关的条目(比如gitlab、github),双击找到的条目。在弹出的窗口里切换到「访问控制」标签,要么勾选「允许所有应用访问此项目」,要么点击加号,把/usr/bin/ssh/usr/sbin/sshd这两个程序加进去,保存设置后重新SSH进去试试。

  • 配置SSH代理转发(适用于SSH密钥认证的Git仓库)
    如果你本地操作Git是用SSH密钥免密的,那可能是SSH会话没继承本地的SSH代理。你可以在发起SSH连接的那台电脑的~/.ssh/config文件里加这么一段:

    Host 你的MiniMac主机名或IP
      ForwardAgent yes
    

    这样当你SSH到Mini Mac时,本地的SSH代理会被转发过去,Mini Mac上的Git操作就能直接用你本地的SSH密钥认证,不用再输密码了。

  • 手动解锁钥匙串(临时/兜底方案)
    如果上面的方法都没起效,你可以在SSH登录Mini Mac后,运行这个命令解锁钥匙串:
    security unlock-keychain
    输入你的Mac用户密码后,Git就能读取钥匙串里的凭据了。要是不想每次SSH都手动输,你可以把这个命令加到Mini Mac的~/.bash_profile或者~/.zshrc里(看你平时用的是哪种shell)。

备注:内容来源于stack exchange,提问作者kloop

火山引擎 最新活动