标签: ssh-agent

Eclipse git和ssh-agent

我使用eit和git(egit).

我想利用我的ssh-agent所以我可以从日食中推出.有谁知道如何设置egit使用ssh-agent?

背景:我无法将我的密钥上传到eclipse,因为我的密钥是在cryptostick上.我的ssh-agent可以在opensc的帮助下加载.

eclipse git egit ssh-agent

6
推荐指数
2
解决办法
5731
查看次数

如何使用Docker中的部署密钥从Github部署代码?

我想在构建时将代码从Github拉入我的Docker镜像.我有一个从存储库生成的部署密钥,但在我看来,ssh-agent不能处理我的Docker镜像.

我做了什么(我的Dockerfile):

FROM python:2.7-stretch
ADD ./id_rsa /root/.ssh/id_rsa
RUN eval "$(ssh-agent -s)"
RUN ssh-add -K /root/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

输出:

Step 12/22 : RUN eval "$(ssh-agent -s)"
 ---> Running in f9ad80981cee
Agent pid 6
Removing intermediate container f9ad80981cee
 ---> d773f7ce5917
Step 13/22 : RUN ssh-add -K /root/.ssh/id_rsa
 ---> Running in 95efeed6a7ad
Could not open a connection to your authentication agent.
The command '/bin/sh -c ssh-add -K /root/.ssh/id_rsa' returned a non-zero code: 2
Run Code Online (Sandbox Code Playgroud)

如您所见,ssh-agent已启动,但密钥未添加.

如果我跳过SSH-添加步骤,然后我的git拉失败的,后来因为特权,它是如预期没有发生认证失败.

git ssh-agent docker

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

如何在docker容器窗口中设置SSH_AUTH_SOCK环境变量

我在 Windows 机器上复制 dockerfile 中的 ssh 密钥用于开发目的,但无法获取 SSH_AUTH_SOCK 变量集,

这是我的 Dockerfile

FROM node:alpine


WORKDIR /usr/src/app
COPY package.json .

ADD id_rsa /root/.ssh/id_rsa
RUN chmod 700 /root/.ssh/id_rsa \
  && touch /root/.ssh/known_hosts \
  && ssh-keyscan -H github.com >> /root/.ssh/known_hosts \
  && eval `ssh-agent -s` && ssh-add /root/.ssh/id_rsa

RUN yarn
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)

我尝试在我的撰写文件中评估 ssh-agent 的结果

command: >
  sh -c 'eval `ssh-agent -s`
  && ssh-add /root/.ssh/id_rsa
  && echo $SSH_AUTH_SOCK'
Run Code Online (Sandbox Code Playgroud)

当我执行简单的 nodejs 文件时,SSH_AUTH_SOCK未设置。

printenv也没有显示出来,有没有办法做到这一点。

我可以看到有很多适用于 linux 和 osx 的 ssh-agent …

ssh-agent docker docker-compose

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

如何使 ssh-add 从变量中读取密码?

我想使用 ssh-add 加载受变量密码保护的 ssh 密钥。

当我尝试从文件加载它时,效果很好。

eval $(ssh-agent)

DISPLAY=1 SSH_ASKPASS="passwordfile" ssh-add id_rsa < /dev/null

现在我想将密码和 id_rsa 分配给变量并使用如下内容:

eval $(ssh-agent)

DISPLAY=1 SSH_ASKPASS="$PASSPHRASE" ssh-add $ID_RSA < /dev/null

我怎样才能实现这个目标?

ssh ssh-keys ssh-agent

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

恢复中断的屏幕会话时重新连接 SSH 代理转发

所以事实证明这对谷歌来说是一件非常困难的事情。我有一个工作设置,我可以在一天结束时休眠或关闭的笔记本电脑上运行所有内容。这样做显然会切断我在 puTTY 中的 SSH 会话。经过一番摸索,我发现了一种在通过 puTTY 连接时自动启动屏幕并获取断开连接的会话的好方法(即,添加if [ -z "$STY" ]; then screen -R; fi到我的 .bashrc 的末尾)。

这非常有效,但我仍然有问题。我使用 SSH 代理通过我的笔记本电脑上的 Pageant(我最初输入密码的地方)转发到辅助服务器。据我所知,当 puTTY 会话中断时,此套接字已损坏,并且在重新加载和重新连接到 screen时不会重新连接

这是我的测试:

20:01:38 {~/test}$ git clone git@github.com:coldcandor/env.git
Cloning into 'env'...
remote: Counting objects: 1105, done.
remote: Total 1105 (delta 0), reused 0 (delta 0), pack-reused 1105
Receiving objects: 100% (1105/1105), 341.06 KiB | 453.00 KiB/s, done.
Resolving deltas: 100% (544/544), done.
Checking connectivity... done.
20:01:43 {~/test}$ rm -rf env
Run Code Online (Sandbox Code Playgroud)

断开油灰并重新连接

20:01:58 …
Run Code Online (Sandbox Code Playgroud)

ssh gnu-screen ssh-keys ssh-agent

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

在 Windows 上为 Jenkins 配置 SSH 代理插件

我正在尝试在 Windows 安装的 Jenkins (v2.103) 上配置 SSH 代理插件 (v1.15),以便能够通过 ssh 向远程计算机发出命令。

我已经安装了该插件,并在 Jenkins Credentials 中添加了一个条目(如下所示),其中包含可以登录远程计算机(主机名:corp-wfdemo)的私钥和密码。我已经确认此密钥可用于验证运行 Jenkins 的用户。

詹金斯的凭证

我创建了一个 Pipeline 项目并添加了这个 Groovy 脚本来测试 ssh:

node ('ssh') {
    stage ('test') {
        sshagent(['corp-wfdemo']) {
            sh 'ls -la'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Jenkins大师有这个标签ssh。这是一台安装了 Git Bash (MINGW64) 的 Windows Server 2012 计算机。

当我尝试运行此作业时,尝试查找某些自动生成的askpass.sh 脚本时失败。这是输出:

詹金斯作业输出

有人可以帮忙吗?提前致谢!

另外,每次我尝试运行此作业时,ssh-agent都会生成一个新实例,但不会终止,留下这样的混乱:

ssh 代理进程

windows sh ssh-agent jenkins jenkins-pipeline

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

我们可以跳过“将 SSH 密钥添加到 ssh-agent”部分,而只生成密钥并添加到 GitHub 吗?

我总是只是生成 ssh 密钥,然后将其添加到 GitHub 就完成了:我可以克隆或推送到 GitHub 并执行所有任务。

但现在我看到“将你的 SSH 密钥添加到 ssh-agent ”,我可以跳过整个部分,一切似乎仍然有效。为什么需要这样做?如果不执行此步骤会发生什么?

git github ssh-keys ssh-agent

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

在 jenkins 上的 docker 中运行 ssh-agent 不起作用

我正在尝试在 jenkins 管道中使用容器,但是我无法让 ssh-agent 在其中工作。我使用的是 v1.19 插件,当我运行下面的代码时,我得到

主机密钥验证失败。致命:无法从远程存储库读取。

请确保您拥有正确的访问权限并且存储库存在。

但是,如果我从图像外部运行代码,它会完美运行,证明用户具有正确的权限。

node('nodeName'){
    cleanWs()    
    ws("short"){
        withDockerRegistry([credentialsId: 'token', url: "https://private.repo.com"]) {
            docker.image("img:1.0.0").inside("-u root:root --network=host") {
                sshagent(credentials: ["bitbucket_token"]) {
                    sh "mkdir ~/.ssh"
                    sh 'ssh-keyscan bitbucket.company.com >> ~/.ssh/known_hosts'
                    sh 'git clone ssh://git@bitbucket.company.com:PORT/repo.git'
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是输出:

[Pipeline] sshagent
[ssh-agent] Using credentials jenkins (bitbucket_token)
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent]   Exec ssh-agent (binary ssh-agent on a remote machine)
$ docker exec abcdef123456 ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-qwertyu/agent.15
SSH_AGENT_PID=22
Running ssh-add (command line suppressed)
Identity added: /home/jenkins/short@tmp/private_key_8675309.key (/home/jenkins/short@tmp/private_key_8675309.key) …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-agent jenkins docker jenkins-pipeline

5
推荐指数
0
解决办法
2170
查看次数

无法使用 Netbeans 12 中的团队 -&gt; Git -&gt; 克隆向导使用 SSH 连接到 github 存储库

我\xe2\x80\x99m 在 Windows 上运行 Apache Netbeans 12,并且我\xe2\x80\x99m 很难使用 SSH 连接连接到我的 github 存储库。\n我强烈地感觉到,这对于 Netbeans 用户来说一直是一个问题很长一段时间。\n到目前为止我\xe2\x80\x99已经尝试过:

\n
    \n
  • 我在 Cygwin 中安装了 openSSH,用于在\nNetbeans 中运行终端。这允许我使用 ssh-agent。
  • \n
  • 我尝试运行 ssh-agent 并添加与我的 Git 存储库中的公钥匹配的相关私钥\n。
  • \n
  • 我使用 git bash 和独立的 Cygwin shell 克隆此存储库没有遇到任何问题(现在我已经运行了 ssh-agent),但是 Netbeans 中的 Team->Git->Glone 向导给了我以下连接错误:
  • \n
\n

在此输入图像描述

\n

ssh openssh github ssh-agent netbeans-12

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

macos ssh-agent 中的“-l”标志是什么?

当我搜索手动启动 ssh-agent 的 PID 时,我还发现了 process /usr/bin/ssh-agent -l。我试图在 man 中找到描述,但找不到。该标志是什么-l?它有用吗?

macos ssh ssh-agent

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