在 Windows 上启动 Git Bash 时运行 SSH 代理

2023-11-24

我正在使用 git bash。我必须使用

eval `ssh-agent.exe`
ssh-add /my/ssh/location/

每次当我开始一个新的 git bash 时。

有没有办法永久设置ssh代理?或者windows有什么好的办法吗 管理 ssh 密钥?

我是新人,请详细的教程,谢谢!


2013 年:在git bash会话,您可以添加一个脚本~/.profile or ~/.bashrc (with ~通常设置为%USERPROFILE%),为了使该会话自动启动ssh-agent.
如果该文件不存在,则创建它。

这就是 GitHub 在“使用 SSH 密钥密码".

The "在适用于 Windows 的 Git 上自动启动 ssh-agent该文章的“部分有一个强大的脚本,用于检查代理是否正在运行。
下面只是一个片段,请参阅 GitHub 文章以获取完整的解决方案。

# This is just a snippet. See the article above.
if ! agent_is_running; then
    agent_start
    ssh-add
elif ! agent_has_keys; then
    ssh-add
fi

其他资源:

"让 ssh-agent 从 Windows 命令 shell 与 git run 一起使用" 有一个类似的脚本,但我主要参考上面的 GitHub 文章,该文章更强大且最新。


hardsetting添加评论 (2018):

如果您想在第一次需要时输入密码,而不是在打开 shell 时输入,对我来说最简洁的方法是:

  • 删除ssh-add来自.bash_profile, and
  • adding "AddKeysToAgent yes“给你的.ssh/config文件(参见“怎么做ssh-agent按需自动添加密钥?").

这样你甚至不必记住跑步ssh-add.


And Tao添加评论 (2022):

值得注意的是,为什么这个脚本在 Windows 中特别有意义,而不是(例如)由@JigneshGohel in 另一个答案:

通过不依赖SSH_AGENT_PID总之,这个脚本可以在不同的 msys 和 cygwin 环境中工作。
代理可以在 msys2 中启动,并且仍然在git bash,作为SSH_AUTH_SOCK在任一环境中都可以到达路径。
一个环境中的 PID 无法在另一个环境中查询,因此基于 PID 的方法不断重置/创建新的ssh-agent每个交换机上的进程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 上启动 Git Bash 时运行 SSH 代理 的相关文章

  • Visual Studio Code 无法检测已安装的 git 并且“启动 git 时出错:文件名或扩展名太长”。

    我已经查看了大多数描述标题上的第一个错误的帖子 Visual Studio Code 无法检测已安装的 git 尽管如此 我相信第二个错误 启动 git 时出错 文件名或扩展名太长 生成第一个 你可以帮帮我吗 Git 在使用 Git Bas
  • php run git 收到“ssh 权限被拒绝”

    我正在尝试从浏览器中运行 git pull php 脚本 但我得到了 sh 连接到主机 git assembla com 端口 22 权限被拒绝 我的 PHP 脚本
  • Windows下Kafka托管在Docker中删除主题时出现异常

    我在 Windows 的 Docker 中托管 Kafka 威斯迈斯特 卡夫卡 https hub docker com r wurstmeister kafka 使用 docker 镜像 Kafka 数据存储在本地 Windows 文件夹
  • 为什么我们从 MultiByte 转换为 WideChar?

    我习惯于处理 ASCII 字符串 但现在使用 UNICODE 我对一些术语感到非常困惑 什么是多字节字符以及什么是widechar有什么不同 多字节是指在内存中包含多个字节的字符吗 widechar只是一个数据类型来表示吗 为什么我们要从M
  • 在 Windows 2008 上将 myprogram.exe 作为服务运行时出现问题

    MyProgram exe 是用来侦听来自管道的请求并使用命令提示符使其工作完美 但我尝试使用 Windows 服务来工作但没有成功我在 Windows Server 2008 Enterprise 上尝试了以下步骤 gt sc creat
  • Python 可执行文件:py2exe 还是 PyInstaller?

    要创建可执行文件 Windows 我假设我们应该使用其中之一 Py2exe 或 PyInstaller 它们之间有什么区别 Py2exe 和 PyInstaller 都是包装器 但我注意到以下几点差异 Py2exe 与 python2 4
  • R 脚本自动化时的不同结果

    以下命令对 pdf 文件执行 Ghostscript 这pdf file变量包含该 pdf 的路径 bbox lt system paste C gs gs8 64 bin gswin32c exe sDEVICE bbox dNOPAUS
  • 为什么 cygwin 无法读取我的主目录中的 .ssh/config 文件?

    我正在使用 cygwin 并且正在尝试设置 ssh config 文件 Cygwin 的文件夹位于我的 C 驱动器中 我的主目录是 C Users USER 我注意到 当我编辑 C Users USER ssh config 时 cygwi
  • 使用 IDLE 编辑的 .py 文件消失了

    我曾经有过Edit with IDLE当我右键单击时的选项 py文件 但我多次卸载 重新安装以使某些东西正常工作 但现在它消失了 我检查了注册表HKEY CLASSES ROOT and HKEY LOCAL MACHINE对于价值低于Py
  • 代码退出-1073741515 (0xc0000135)“未找到依赖的 dll”

    我正在尝试编写一个简单的程序 与 2019 年相比 Windows 10 64 位 调试 gt x64 遵循 将 Visual C 项目配置为面向 64 位平台 1 include
  • 更改desktop.ini不会在Windows中自动更新文件夹图标

    我使用此批处理脚本将所有文件夹和子文件夹的图标更改为位于文件夹中的 ico 文件 但是 资源管理器中的文件夹图标不会改变除非我手动重命名desktop ini将资源管理器中的文件更改为其他内容 然后返回desktop ini或者例如将字母更
  • 确定用于映射网络驱动器的域和用户名

    使用带有 SP1 的 Windows 7 Enterprise 但我希望得到适用于 Windows XP 2003 2008 Vista 7 的通用答案 从命令提示符处 我执行net use命令将 Z 驱动器映射到另一台计算机上的共享 但我
  • gitlab 上的权限被拒绝(公钥)

    我的问题是我无法从 GitLab 推送或获取 不过 我可以克隆 通过 HTTP 或通过 SSH 当我尝试推送时出现此错误 权限被拒绝 公钥 致命 无法从远程存储库读取 从我看过的所有线程中 这是我所做的 在我的计算机上设置 SSH 密钥并将
  • 以编程方式从 java 代码中查找 java.exe 的绝对路径

    如果我有一个由用户启动的 java jar 或类文件 假设在环境变量中设置了 java 路径 那么我如何从代码中找出 java exe javaw exe 的绝对路径文件正在启动 就像在 ubuntu 上一样 我们可以运行 which ja
  • 如何在Windows上分离“Git bash”中启动的“git gui”?

    例如 我开始 git bash 我导航到某个目录 I start git gui 我关闭控制台窗口或按 Ctrl C Git gui 的窗口消失了 即使我用过git gui disown 即使当我按 Ctrl C 时它不在前台 如何正确分离
  • Kerberos 双跳

    我们遇到了臭名昭著的 Kerberos 双跳问题 这是一个全新的域 是从以前使用模拟和委派的另一个提供商迁移而来的 我们已将操作系统升级到最新的 SQL 服务器 2017 WPF 应用程序 使用域凭据 gt Web 服务 IIS 10 上的
  • 自定义波特率,redux

    我遇到的问题详述如下自定义波特率 https stackoverflow com questions 7714060 custom baud rate SetCommState 波特率 921600 失败 但波特率 115200 成功 尽管
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git

随机推荐

  • 如何使用 Jest 模拟封装在服务类中的 Winston 记录器实例

    我想嘲笑温斯顿记录器封装在使用 NestJS 创建的服务类中的实例 我在下面包含了我的代码 我无法从服务类中触发模拟的记录器实例 谁能解释我哪里出了问题 import as winston from winston import logge
  • Python 翻译多个字符

    我正在尝试在 python 3 3 3 中创建一个程序 它将接受一个字符串 然后将其转换为数字 1 26 我知道如何计算一位数字 但不知道如何计算 2 位数字 translist str maketrans 123456789 ABCDEF
  • 对 WooCommerce 中最便宜的购物车商品应用 100% 优惠券折扣

    我创建了一个 BOGOF 买一送一 优惠券 使用正常的 woocommerce 优惠券方法 该优惠券为用户提供购物车中其他 1 件商品 100 的折扣 优惠券设置 General 折扣类型 百分比折扣优惠券 amount 100 使用限制
  • 使用 Django 模型进行单元测试并涉及很多关系

    或者 如何设计数据库架构以方便进行单元测试 顺便说一句 这里有一个与此非常相似的问题 如何使用外键测试 Django 中的模型 我正在尝试为使用 Django 框架的项目遵循 TDD 方法 我正在创建和测试模型及其功能 保存方法 信号 以及
  • HAVING 不带 GROUP BY

    根据标准 SQL 以下可能吗 为了符合标准 如果还没有 需要进行哪些最小的更改 它在 MySQL 中按预期工作 当且仅当第一行具有最大值页数 SELECT FROM Book HAVING NumberOfPages MAX NumberO
  • 解释 d3js 投影基础知识

    我试图了解 d3 中地理投影的基础知识 以便我可以有效地旋转 缩放和平移坐标 投影的结果是否在默认 svg 坐标系中 原点位于左上角 正 y 值沿网格向下移动 或者结果是笛卡尔坐标系的 正 y 值在网格中向上移动 我进行了这个测试 a点位于
  • Android Studio 1.0RC4 Gradle 构建错误

    我刚刚下载了 Android Studio 1 0RC4 但无法构建任何项目 甚至是新创建的项目 我得到的错误是 错误 无法使用 Gradle 分发运行构建操作 https services gradle org distributions
  • git 归档来自远程的特定哈希

    我正在尝试从一个远程存储库获取一个目录 但我只想从特定的哈希中获取该文件 如果我使用带有 HEAD 的 git archive 一切正常 但是当我尝试使用特定的哈希时 git archive v format tar remote ssh
  • AngularJS:如何从window.history中删除当前视图url?

    I have load data使用微调器查看 数据加载完成后控制器重定向到不同的视图 location path show info 如何从历史记录中删除 load data 以避免window history back 到 load d
  • 如何通过一键登录流程使用适用于 JavaScript 的 Google API 客户端?

    我在用着Google 一键登录对用户进行身份验证 在用户通过身份验证后 我会获得访问令牌 我知道我可以使用此访问令牌来使用JavaScript 的 Google API 客户端 GAPI 但我找不到任何使用此访问令牌来使用 GAPI 的方法
  • Google Play 拒绝应用程序,因为它正在上传用户的联系信息

    由于以下原因 该应用程序已从 Google Play 商店中删除 APK 有显着的披露 但披露不充分您的应用正在上传用户的Contact信息至https domen com没有充分披露 由于应用程序是国际电话应用程序 我们使用了很多权限
  • 互斥锁和解锁函数如何防止 CPU 重新排序?

    据我所知 函数调用充当编译器屏障 但不充当 CPU 屏障 This tutorial说如下 获取锁意味着获取语义 而释放锁 意味着释放语义 其间的所有内存操作都是 包含在一个漂亮的小屏障三明治内 防止任何 跨边界的不良内存重新排序 我假设上
  • devtools roxygen 包创建和 rd 文档

    我是 roxygen 的新手 正在努力了解如何使用它来快速创建新的 自定义的包 IE 我想知道最低要求是制作一个名为package1 using devtools roxygen2 3这样我就可以运行命令 require package1
  • 根据特定类别获取所有标签(包括子类别和帖子中的所有标签)wordpress

    我想在 single php 上使用 wp tag cloud 使用从特定类别获取所有标签的参数 包括来自其子类别和帖子的所有标签 Wordpress 中没有本地方法可以做到这一点 原因是标签与类别无关 它们是独立的 话虽如此 获取特定类别
  • 从 iPhone 应用程序购买实体产品,无需 Apple 在应用程序内购买

    iPhone 应用程序是否可以允许用户从应用程序内部购买实体产品 例如笔或鼠标 而无需在应用程序购买中使用 Apple 苹果允许吗 如果是的话 你知道有什么API支持这个吗 谢谢 阿杰 您不得使用 应用内购买 销售实体商品或服务 因为通过此
  • DatePicker 看起来也像新 API 上的旧设计

    所以问题很简单 我集成了一个DatePicker在我的应用程序中 不作为DialogDatePicker但作为一个 View 组件 更准确地说是一个View里面的一个Fragment动态显示并从FrameLayout包含在我的主要Fragm
  • XML XSD 模式验证工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有人知道使用 XSD 模式验证 XML 的命令行工具吗 xmllint 来自Libxml项目 xmllint schema schema xsd d
  • recyclerview 中的倒计时器无法正常工作

    我创建了一个包含多个数据和一个倒计时器的回收视图 所有的事情都工作正常 直到我无法滚动列表 当我向下滚动列表时 倒计时器将与上面的视图项目冲突 它也计算当前观看时间和随机时间 我尝试了太多的方法来解决它 但无法解决 请帮帮我 提前致谢 这是
  • 为什么我无法克隆我作为协作者的私有存储库

    我是一个私人 github 存储库的合作者 我可以分叉它 但是当我尝试将它克隆到我的系统上时 它会显示一个弹出框 要求提供凭据 即使我输入正确的凭据 我也无法登录 是只有我一个人还是 github 实际上不允许克隆私人仓库 即使我是其中的合
  • 在 Windows 上启动 Git Bash 时运行 SSH 代理

    我正在使用 git bash 我必须使用 eval ssh agent exe ssh add my ssh location 每次当我开始一个新的 git bash 时 有没有办法永久设置ssh代理 或者windows有什么好的办法吗 管