当前位置: 首页 > 知识库问答 >
问题:

如何在windows上运行ssh-add?

傅长恨
2023-03-14

我正在关注部署到VPS的#335,在接近本集结尾时,我们需要运行ssh add,以便让服务器访问github repo。

问题是如何在windows中运行它?需要安装什么?

我知道要运行ssh访问远程服务器,我可以使用Putty。但是这个命令需要在本地运行,我知道如何使用Putty来实现这一点。

共有3个答案

鲁华灿
2023-03-14

如果您没有使用GitBash,则需要使用以下命令启动ssh代理

start-ssh-agent.cmd

如果未设置ssh代理,可以将PowerShell作为管理员打开,并将其设置为手动模式

if( ($startupType =(Get-Service -Name ssh-agent | Select-Object -Property StartupType).StartupType) -ne  [System.ServiceProcess.ServiceStartMode]::Manual){
    if((Get-Service -Name ssh-agent | Select-Object -Property Status ).Status -ne [System.ServiceProcess.ServiceControllerStatus]::Running){
        Get-Service -Name ssh-agent | Set-Service -StartupType Manual
        Start-Sleep -Milliseconds 300 # Wait for the service host to respond before fiddling with it
        Start-Service -Name ssh-agent
        Get-Service -Name ssh-agent | Get-Process
    }
} else {
    Start-Service -Name ssh-agent
}
干浩然
2023-03-14

你可以安装Git for Windows,然后运行ssh-add

步骤3:将密钥添加到ssh代理

配置ssh-agent程序以使用SSH密钥:

如果安装了GitHub for Windows,则可以使用它克隆存储库,而不处理SSH密钥。它还附带Git Bash工具,这是在Windows上运行Git命令的首选方式。

>

>

  • 如果使用Git Bash,请打开ssh-agent:

    # start the ssh-agent in the background
    ssh-agent -s
    # Agent pid 59566
    

    如果您正在使用其他终端提示符,例如msysgit,请打开ssh-agent:

    # start the ssh-agent in the background
    eval $(ssh-agent -s)
    # Agent pid 59566
    

    将SSH密钥添加到ssh-agent:

    ssh-add ~/.ssh/id_rsa
    

  • 呼延明朗
    2023-03-14

    使用git的start-ssh-agent的原始答案

    确保你已经安装了Git,并且在你的PATH中有html" target="_blank">git的cmd文件夹。例如,在我的计算机上,git的cmd文件夹的路径是C:\Program Files\Git\cmd

    确保您的id\u rsa文件位于c:\users\yourusername\文件夹中。ssh

    如果尚未启动命令提示符,请重新启动命令提示符,然后运行start ssh agent。它将找到您的id\u rsa,并提示您输入密码短语

    更新2019-如果您使用视窗10,一个更好的解决方案:OpenSSH是视窗10的一部分,在我看来,这使得使用来自cmd/Powershell的SSH变得更加容易。与我以前的解决方案不同,它也不依赖于安装git。

    >

  • 从开始菜单打开管理可选功能,确保列表中有打开SSH客户端。如果没有,您应该能够添加它。

    从“开始”菜单打开“服务”

    向下滚动到OpenSSH身份验证代理

    将启动类型从禁用更改为其他3个选项中的任意一个。我已将我的设置为自动(延迟启动)

    打开cmd并键入where ssh,以确认列出的最前面的路径位于System32中。Mine安装在C:\Windows\System32\OpenSSH\ssh。exe。如果它不在列表中,您可能需要关闭并重新打开cmd。

    完成这些步骤后,ssh-agent、ssh-add和所有其他ssh命令现在都可以从cmd中工作。要启动代理,只需键入ssh-agent

    此解决方案的一些优点:

    • 您不需要在每次重启计算机时启动ssh-agent
    • 您添加的标识(使用ssh-add)将在重启后自动添加。(它适用于我,但你可能需要一个配置文件在你的c:\用户\用户\. ssh文件夹)
    • 你不需要git!
    • 可以向代理注册任何rsa私钥。另一个解决方案只会拾取一个名为id_rsa
    • 的密钥

    希望这有帮助

  •  类似资料:
    • 我必须运行一个Java程序,其中有一个嵌入在框架内的小程序。我这样做是因为我想把applet作为一个应用程序来运行。 当我在本地机器上运行它时,它工作得很棒,但当我想在远程机器上运行它时,它就不工作了。程序似乎正在运行我的main(),但我看不到窗口。 我尝试了ssh-x和ssh-t,但没有用。 null 感谢任何帮助。 null

    • 问题内容: 运行Airflow的常规说明不适用于Windows环境: Airflow实用程序在命令行中不可用,我在其他地方找不到要手动添加的实用程序。Airflow如何在Windows上运行? 问题答案: 您可以在Windows中激活,并直接按照本教程进行操作。我能够按照上面的步骤启动并成功运行。 安装完成后,请进行编辑以将所有配置指向Windows系统中的某个位置,而不是lxss(ubuntu)

    • 问题内容: 如何在Windows中运行celery worker而不创建Windows Service?有什么比喻吗? 问题答案: 它的完成方式与Linux中相同。将目录更改为包含celery任务的模块并调用效果很好。

    • 运行气流的一般说明不适用于Windows环境: 气流实用程序在命令行中不可用,我在其他地方找不到它可以手动添加。气流如何在Windows上运行?

    • 我正在使用git bash。我得用 每次我开始新的git bash时。 有没有办法永久设置ssh代理?或者windows有管理ssh密钥的好方法吗? 我是新人,请给我详细的教程,谢谢!

    • 我目前正在使用Protobuf插件生成一些定制的C#代码,给出一组Protobuf文件。它在Linux上运行良好,我也希望在Windows上运行它,以便直接从我的Visual Studio项目生成此代码。 以下是我当前(未成功)使用的命令行: 这是我得到的错误: --my-plugin\u out:protoc gen my plugin:%1 n'est pas unie application