标签: ssh-agent

在 Git Windows 中将 SSH 密钥添加到 SSH-Agent

我正在尝试从 powershell 将 ssh 密钥添加到 Windows 中的 git ssh-agent 中。然而,当我添加它时,它会将其添加到常规 SSH 代理中,而不是 git 代理中。我使用不同的 SSH 代理阅读了 stackoverflow 的答案我尝试启动代理运行C:\Program Files\Git\cmd> .\start-ssh-agent.cmd并且它正常启动,但是当我尝试执行任何 ssh-add 命令时,我收到错误:

连接到代理时出错:没有这样的文件或目录

我找到的所有文档都是将密钥添加到 .ssh 文件,然后启动 ssh 代理。有没有办法在 Git SSH 代理中获取该目录之外的文件?

git ssh-agent git-bash

3
推荐指数
1
解决办法
7917
查看次数

设置 SSH_AUTH_SOCK 但未设置 SSH_AGENT_PID 时出现“与代理通信失败”错误

我在 Windows 10 v21H2 上使用 Visual Studio Code v1.67 连接到 Ubuntu Server 22.04 计算机。我正在 Windows 上运行 SSH 代理 (v8.1)。我已经ForwardAgent yes在 Windowsconfig文件中设置了。当我启动 Ubuntu 终端时,代理似乎正在 Ubuntu 中运行并拥有我的 Windows 密钥。我可以通过 看到它ssh-add -lSSH_AUTH_SOCK设置为类似/run/user/1000/vscode-ssh-auth-sock-12345678(指向 的链接/tmp/ssh-XXXXABCDEF/agent.1234)的内容,但未SSH_AGENT_PID设置。

如果我尝试,ssh -Tvvv git@bitbucket.org它不会使用代理中的密钥并询问我的 Ubuntu 密钥密码。详细的 SSH 输出中包含以下消息:

debug2: get_agent_identities: ssh_agent_bind_hostkey: communication with agent failed
debug1: get_agent_identities: ssh_fetch_identitylist: communication with agent failed
Run Code Online (Sandbox Code Playgroud)

我可以启动一个新代理并使用 .ubuntu 在我的 Ubuntu 计算机上添加密钥eval `ssh-agent`; ssh-add。这设置了SSH_AUTH_SOCKSSH_AGENT_PID。 …

ssh-agent

3
推荐指数
1
解决办法
2926
查看次数

詹金斯sshagent执行不起作用

我试图使用sshagent选项scp/ftp文件到windows和linux serers但它没有按预期工作,有人可以帮助我吗?

凭证应该是什么?我使用了使用jenkins创建的加密用户标识和密码值.执行scp文件到server1的命令应该是什么?

scp ssh-agent jenkins jenkins-plugins jenkins-pipeline

2
推荐指数
1
解决办法
5956
查看次数

为什么ssh-agent不转发我的SSH证书?

该线程是对标题问题的答复:ssh-agent为什么不转发我的SSH证书? 实际上,我在搜索过程中找不到任何信息。我必须阅读ssh-add的C代码 才能解决我的问题。

问题

我获得了有效的SSH证书:

$ ssh-keygen -L -f ~/.ssh/id_rsa-cert.pub 
/home/user/.ssh/id_rsa-cert.pub:
    Type: ssh-rsa-cert-v01@openssh.com user certificate
    Public key: RSA-CERT SHA256:YgFzKPkUdZHLLi8bEKUs5/hLumNoMNG+oDJ+KD6mS3s
    Signing CA: RSA SHA256:w+Cjpu/QQUunuojs9Af82ENdBUreCDXo+APao9X4dHw
    Key ID: "user_key"
    Serial: 0
    Valid: from 2017-12-06T10:53:00 to 2017-12-07T10:54:57
    Principals: 
            user
            admin
    Critical Options: (none)
    Extensions: 
            permit-X11-forwarding
            permit-agent-forwarding
            permit-port-forwarding
            permit-pty
            permit-user-rc
Run Code Online (Sandbox Code Playgroud)

这是我的ssh-agent键列表:

$ ssh-add -l
4096 SHA256:YgFzKPkUdAGBPi8bEKUs5/hLumNoAds+oDJ+KD6mS3s user_key (RSA)
Run Code Online (Sandbox Code Playgroud)

当我在远程服务器上进行SSH时,它可以工作。我没有~/.ssh/authorized_keys密码,而且我的密钥可能转发很好,因为我得到了与以前相同的结果。

现在,我想从第一个服务器(使用ForwardAgent yes)通过SSH连接到另一台服务器:

$ ssh srv1
srv1:~$ ssh srv2 -vvv
...
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering …
Run Code Online (Sandbox Code Playgroud)

ssh certificate ssh-agent

2
推荐指数
1
解决办法
1334
查看次数

Windows子系统Linux(WSL)中的ssh-agent重置

我试图在WSL下使用ssh-agent,但在脚本运行后擦除了SSH参数

来自.bashrc(缩减版)

eval $(ssh-agent)
ssh-add

ssh-add -l
echo "SSH_AGENT_PID is" $SSH_AGENT_PID
echo "SSH_AUTH_SOCK is" $SSH_AUTH_SOCK
Run Code Online (Sandbox Code Playgroud)

然后提示密码短语显示指纹和相关变量

在提示(或单独的脚本)运行后直接

ssh-add -l
echo "SSH_AGENT_PID is" $SSH_AGENT_PID
echo "SSH_AUTH_SOCK is" $SSH_AUTH_SOCK
Run Code Online (Sandbox Code Playgroud)

Could not open a connection to your authentication agent.
SSH_AGENT_PID is
SSH_AUTH_SOCK is
Run Code Online (Sandbox Code Playgroud)

(为了便于阅读而整理)

代理仍在运行时使用原始pid(在顶部检查)也尝试eval $(ssh-agent ) > /dev/nulleval $(ssh-agent -s)组合使用

为什么要擦掉这些?ssh-agent工作正常,直到windows更新1709"fall creators update"

信息:linux版本4.4.0-43-Microsoft(Microsoft@Microsoft.com)(gcc版本5.4.0(GCC))#1-Microsoft Wed Dec 31 14:42:53 PST 2014

从这里重新发布:https://superuser.com/questions/1278539/ssh-agent-reset-in-windows-subsystem-for-linux-wsl

ssh-agent windows-subsystem-for-linux

2
推荐指数
1
解决办法
3509
查看次数

连接失败。可用的身份验证方法已用尽

我尝试使用 SFTP 添加部署配置,但是出现以下错误:

Connectionxxxxfailed. Exhausted available authentication methods 我正在使用 OpenSSH 配置和身份验证代理。

我检查了 RubyMine 终端内的 ssh 代理,发现多个实例正在运行:

$ ps -ef | grep ssh-agent                                                                                                                                                                                            
  501  9724     1   0 Mon02PM ??         0:00.02 ssh-agent -s
  501 14553     1   0 Mon03PM ??         0:00.02 ssh-agent -s
  501 15132     1   0 Mon03PM ??         0:00.01 ssh-agent -s
  501 16276     1   0 Mon04PM ??         0:00.00 ssh-agent -s
  501 16759     1   0 Mon04PM ??         0:00.01 ssh-agent -s
  501 27662     1   0  6:40PM ??         0:00.01 ssh-agent -s
  501 31227 …
Run Code Online (Sandbox Code Playgroud)

ftp ssh sftp ssh-agent rubymine-7

2
推荐指数
1
解决办法
3万
查看次数

Paramiko 或 sshtunnel 和 ssh-agent 无需输入密码

我正在尝试使用 sshtunnel 创建到服务器的隧道。我正在使用 ssh-key 和 ssh-agent:

from sshtunnel import SSHTunnelForwarder

with SSHTunnelForwarder(
    (proxyhost, 22),
    ssh_username=ssh_username,
    #ssh_private_key_password=PASSPHRASE, # with this line it works
    remote_bind_address=('127.0.0.1', 3306),
) as tunnel:
    pass
Run Code Online (Sandbox Code Playgroud)

找到正确的私钥,当我给出密码作为参数时,隧道就建立了(请参见上面的注释行)。

但我已经使用 ssh-agent 解锁了我的 ssh 私钥(只有在重新启动后第一次使用 ssh 时才会要求我提供 ssh 密码)。是否可以让 paramiko/sshtunnel 获取解锁的私钥而不提示输入密码?我想避免将我的密码存储在磁盘上的任何位置。

python paramiko ssh-tunnel ssh-agent

1
推荐指数
1
解决办法
2341
查看次数

如何使用ssh-add从代理中删除身份(pem文件)

我可以使用轻松地将pem文件添加到SSH代理中ssh-add,如下所示:

$ ssh-add /home/jsmith/keys/mytest.pem
Run Code Online (Sandbox Code Playgroud)

但我似乎无法删除它们:

$ ssh-add -d /home/jsmith/keys/mytest.pem
Bad key file /home/jsmith/keys/mytest.pem: No such file or directory
Run Code Online (Sandbox Code Playgroud)

尽管pem文件仍然存在...我还没有进行任何移动或更改。为什么刚才从我添加的SSH代理中删除这个pem文件时遇到了很多麻烦?正确的方法是什么?

我想避免使用ssh-add -D(使用大写字母“ D”),因为那样会从SSH代理中删除所有身份,而我只想删除我指定的身份。

linux ssh pem ssh-agent

1
推荐指数
1
解决办法
358
查看次数

为什么我不能在 bash 脚本中使用 `source` ssh-agent 和 ssh-add ?

当我尝试时git push,出现以下错误。

ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

我知道我应该在这里指定我自己的密钥,所以我在 bash 窗口中输入以下内容,它工作正常。

ssh-agent bash
ssh-add ~/.ssh/id_rsa_lrz
git push
Run Code Online (Sandbox Code Playgroud)

但是,我想让事情变得简单,所以我有一个像这样的 set_env.sh

ssh-agent bash
ssh-add ~/.ssh/id_rsa_lrz
Run Code Online (Sandbox Code Playgroud)

我像这样在 bash 窗口中输入

. set_env.sh
git push
Run Code Online (Sandbox Code Playgroud)

但是,我ERROR: Repository not found.再次收到错误,但为什么呢?

ssh bash ssh-agent

1
推荐指数
1
解决办法
5028
查看次数

您应该在哪个目录或文件路径中运行eval ssh-agent?

我正在我的PC(ubuntu)上构建一些git用户来练习Github上的工作流程,并使用这个网站来构建用户.我是第3部分,只是输入eval '$(ssh-agent)'但是回来了

bash: SSH_AUTH_SOCK=/tmp/ssh-FxjmM29tR2ak/agent.3856;: No such file or directory
Run Code Online (Sandbox Code Playgroud)

"有办法解决这个问题吗?

git ubuntu github ssh-keys ssh-agent

0
推荐指数
1
解决办法
455
查看次数

无法将SSH SSH私钥添加到docker build

我正在尝试在构建过程中向ssh-agent(docker映像)添加本地私钥。

问题 我已经运行, eval$(ssh-agent -s)并且一旦docker运行,ssh-add /etc/ssh/id_rsa我会收到以下错误:

Could not open a connection to your authentication agent.

目标:我需要在NPM安装过程中克隆一个私有git repo。此本地密钥将允许我针对私人存储库进行身份验证。

====输出片段====

Step 8/16 : RUN eval $(ssh-agent -s)
 ---> Running in 195ffeb1f84f
Agent pid 8
 ---> 0fcbc89d362f
Removing intermediate container 195ffeb1f84f
Step 9/16 : RUN ssh-add /etc/ssh/id_rsa
 ---> Running in ae99039e1fba
Could not open a connection to your authentication agent.
The command '/bin/sh -c ssh-add /etc/ssh/id_rsa' returned a non-zero code: 2
Run Code Online (Sandbox Code Playgroud)

git ssh ssh-agent docker

0
推荐指数
1
解决办法
2169
查看次数