标签: ssh-agent

在Windows上使用git和ssh-agent

我在Windows上.我安装了git和posh-git(Windows PowerShell的一些助手).我可以添加密钥,ssh-add并可以使用github和我的网络服务器进行身份验证.我也可以使用PowerShell中的git与我的存储库进行交互.

但有一件事我不能做:我使用git-plus作为Atom编辑器.我不会把它推到我的回购.我的问题是什么?

git ssh powershell ssh-agent atom-editor

25
推荐指数
5
解决办法
2万
查看次数

Ansible SSH转发似乎不适用于Vagrant

好的,奇怪的问题.我有与Vagrant一​​起工作的SSH转发.但是当我使用Ansible作为Vagrant配置器时,我正试图让它工作.

我确切地发现了Ansible正在执行的操作,并且自己从命令行尝试了它,当然,它也在那里失败了.

[/common/picsolve-ansible/u12.04%]ssh -o HostName=127.0.0.1 \
 -o User=vagrant -o  Port=2222 -o UserKnownHostsFile=/dev/null \
 -o StrictHostKeyChecking=no -o PasswordAuthentication=no \
 -o IdentityFile=/Users/bryanhunt/.vagrant.d/insecure_private_key \
 -o IdentitiesOnly=yes -o LogLevel=FATAL \
 -o ForwardAgent=yes "/bin/sh  \
 -c 'git clone git@bitbucket.org:bryan_picsolve/poc_docker.git /home/vagrant/poc_docker' "
Permission denied (publickey,password).
Run Code Online (Sandbox Code Playgroud)

但是,当我只运行vagrant ssh时,代理转发工作正常,我可以检查R/W我的github项目.

[/common/picsolve-ansible/u12.04%]vagrant ssh
vagrant@vagrant-ubuntu-precise-64:~$ /bin/sh  -c 'git clone git@bitbucket.org:bryan_picsolve/poc_docker.git /home/vagrant/poc_docker'
Cloning into '/home/vagrant/poc_docker'...
remote: Counting objects: 18, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 18 (delta 4), reused 0 (delta 0)
Receiving objects: 100% (18/18), done.
Resolving deltas: …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-agent vagrant ansible

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

如何从文件中生成ssh-add读密码?

我正在尝试添加密钥ssh-agent并希望ssh-add从文件中读取密码.怎么可能?

如何从shell脚本自动执行此过程?

ssh ssh-agent

21
推荐指数
4
解决办法
2万
查看次数

如何通过ssh-agent设置和使用SSH_AUTH_SOCK?

在阅读https://superuser.com/a/230872/301446后,我已经能够设置ssh-agent的共享以进行公钥验证

由此生成的环境文件具有以下内容:

SSH_AUTH_SOCK=/tmp/ssh-OwqeSuxmEsQN/agent.4744; export SSH_AUTH_SOCK;
SSH_AGENT_PID=8960; export SSH_AGENT_PID;
#echo Agent pid 8960;
Run Code Online (Sandbox Code Playgroud)

agent.4744有:

!<socket >24194 s 07DF88C6-E9997283-4C471010-2FE57D77
Run Code Online (Sandbox Code Playgroud)

你知道ssh-agent如何使用这个套接字吗?我可以理解ssh-agent使用它来共享身份验证信息但具体如何?

sockets ssh public-key-encryption ssh-agent

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

记住 WSL 中的 git 密码

我使用 WSL 运行 Windows 10。我在一台计算机上有所需的行为,但无法在其他地方复制。这是我所追求的:

  1. 我第一次使用 ssh 密钥运行远程 git 命令时,git 提示我输入密码
  2. 随后没有提示,包括在新的终端窗口中(我使用 ConEmu)
  3. 当所有控制台窗口都关闭时,回到#1

我尝试过的事情:

  • 使用eval $(ssh-agent), 后跟ssh-add; 它会记住密码,但如果我把它放在我的~/.bash_profile那么它会提示我输入每个新的控制台窗口,并且我打开了很多 - 其中许多我没有使用 git。
  • 设置git config --global credential.helpercachestore
  • 一切 这里的
  • 使用bash.exewsl.exe得到git-credentials-manager.exe工作

这是我放入我的内容的示例 ~/.gitconfig [credential] helper = "/mnt/c/Program\\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"

我已经安装了git credential manager这里并且还尝试了主要的 Git For Windows 安装作为替代。

我怎样才能鼓励它记住我的密码?

git ssh-agent windows-subsystem-for-linux

19
推荐指数
3
解决办法
5605
查看次数

如何从ssh-agent中提取私钥?

ssh-add -l 显示我有3个RSA密钥添加到我的SSH代理.

ssh-add -L 显示那些公钥.

如何获取私钥,以便将其保存到文件中?或者这是不可能的?它是如何工作的呢?

是否可以要求ssh-agent使用私钥进行操作?我怎么能让它为我加密/解密一个号码?

我必须为此编写代码(编程语言并不重要),但我更喜欢使用现有工具或库.

encryption key-management ssh-agent

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

cygwin的ssh-add返回"无法打开与身份验证代理的连接".

我已经开始使用ssh-agent了:

$ ssh-agent.exe
SSH_AUTH_SOCK=/tmp/ssh-LagrQoD3JRqg/agent.3600; export SSH_AUTH_SOCK;
SSH_AGENT_PID=7784; export SSH_AGENT_PID;
echo Agent pid 7784;
Run Code Online (Sandbox Code Playgroud)

接下来我尝试添加一个键:

$ ssh-add /cygdrive/h/mykey.pem
Run Code Online (Sandbox Code Playgroud)

我得到的回应是:

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

ssh cygwin ssh-agent

13
推荐指数
0
解决办法
9016
查看次数

SSH IdentitiesOnly=yes 转发我的所有密钥

我一生都无法弄清楚为什么我的 SSH 配置转发了错误的密钥。我有两把钥匙,我们称它们为home_rsawork_rsa。我做了以下事情:

\n\n
eval `ssh-agent`\nssh-add -K ~/.ssh/home_rsa\nssh-add -K ~/.ssh/work_rsa\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的~/.ssh/config文件:

\n\n
Host home\n  ForwardAgent yes\n  HostName home.com\n  IdentityFile ~/.ssh/home_rsa\n  IdentitiesOnly yes\n  User home\n\nHost work\n  ForwardAgent yes\n  HostName work.com\n  IdentitiesOnly yes\n  IdentityFile ~/.ssh/work_rsa\n  User work\n\nHost bitbucket\n  IdentityFile ~/.ssh/home_rsa\n\nHost bitbucket-work\n  IdentityFile ~/.ssh/work_rsa\n\nHost bitbucket*\n  HostName bitbucket.com\n  User git\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我运行以下\xe2\x80\xa6时

\n\n
ssh work\nssh git@bitbucket.org\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xe2\x80\xa6Bitbucket 报告我正在使用我的home用户,尽管我已经清楚地登录到我的work服务器并且应该转发我的work密钥。如果我以相反的顺序添加 SSH 身份并运行上面相同的代码,Bitbucket 会报告我正在使用我的work用户。ssh-add -l从我的服务器运行work,我看到两个 SSH 密钥都被转发,但这不是 …

ssh public-key-encryption ssh-agent

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

使用forward_agent选项从Windows部署Capistrano:"从身份验证套接字读取响应长度时出错."

我正在尝试使用Capistrano部署项目.我的开发机器正在运行Windows 7; 我正在部署的服务器是Linux.

在deploy.rb脚本中,设置以下内容:

ssh_options[:forward_agent] = true
Run Code Online (Sandbox Code Playgroud)

Capistrano脚本从本地运行git命令开始,此时我被提示输入SSH密钥的密码:

* executing `deploy:update_code'
executing locally: "git ls-remote git@github.com:pathto/gitproject.git develop"
Enter passphrase for key '/c/Users/Sam/.ssh/id_rsa':
command finished in 6999ms
Run Code Online (Sandbox Code Playgroud)

(我可能已经从中看到了真正的git路径.)

我输入我的密码,这很好用.然而,Capistrano然后尝试在远程机器上做类似的事情(在下面重命名为staging-server.com)并且我得到一个错误 - 请参阅此提取的最后一行:

[staging-server.com] executing command
[staging-server.com] sh -c 'git clone git@github.com:pathto/gitproject.git /home/perstest/releases/20120412074500 && cd
/home/perstest/releases/20120412074500 && git checkout -b deploy 50eaf06d06d66fd20c3e55038276f420d8c308a8 && (echo 50eaf06d06d66fd20c3e55038
276f420d8c308a8 > /home/perstest/releases/20120412074500/REVISION)'
 ** [staging-server.com :: out] Initialized empty Git repository in /home/perstest/releases/20120412074500/.git/
 ** [staging-server.com :: err] Error reading response length from authentication socket.
Run Code Online (Sandbox Code Playgroud)

如果我在deploy.rb中注释掉forward_agent行,则此安装成功,可能是使用部署服务器本身的密钥.

我的SSH密钥似乎正在工作 - 毕竟,最初的git命令工作,我可以在git …

capistrano ssh-agent git-bash

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

错误的密码短语3次:git不再要求密码短语了

我想推送一个远程git存储库.我输了三次错误的密码短语.我创建了一个新的ssh密钥,并在存储库服务器上注册了新的公钥.但是ssh代理不会提示输入密码.它一直在告诉我:

权限被拒绝(publickey).致命:无法从远程存储库读取.

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

如何在ubuntu下解决这个问题?

编辑

正如有人建议的那样,我试过了 ssh-add

sadik@sadix:~$ cd .ssh/
sadik@sadix:~/.ssh$ ls
config  github_rsa  github_rsa.pub  id_rsa  id_rsa.pub  keys.zip  known_hosts
sadik@sadix:~/.ssh$ ssh-add 
Enter passphrase for /home/sadik/.ssh/id_rsa: 
Identity added: /home/sadik/.ssh/id_rsa (/home/sadik/.ssh/id_rsa)
sadik@sadix:~/.ssh$ 
sadik@sadix:~/.ssh$ cd
sadik@sadix:~$ cd some/git-repo/
sadik@sadix:~/some/git-repo/$ git push -u bitbucket master
Permission denied (publickey).
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)

我应该补充说,这个git存储库已经从github克隆(不属于我).我想在bitbucket上的私有存储库上推送它.我不知道这是否会导致权限问题,但我的第一个问题是ssh没有提示密码短语.即使重启或注销后也是如此.

编辑

正如Jakuje亲切地建议我输入命令GIT_SSH_COMMAND="ssh -vvv" git push -u bitbucket master来获取客户端日志.这是输出的结束:

debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup …
Run Code Online (Sandbox Code Playgroud)

git ssh ssh-agent

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