问题标签 [ssh-agent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 使用带有密钥的 ssh 进行部署,而不提供私钥的密码(ssh-agent)
Capistrano 和 Rocketeer 在私钥密码方面的区别在哪里?
我已经正确设置了 Capistrano 和 Rocketeer 部署策略并且可以正常工作。Capistrano 让ssh-agent 提供密码短语- Rocketeer 似乎没有。问题不在于如何,而是为什么需要密码。
背景:
我想使用Rocketeer来部署 Laravel 应用程序而不是 Capistrano。似乎它将 SSH 连接委托给 Laravel。
在配置中仅设置远程服务器的名称并运行检查后,在提示输入凭据后,Rocketeer 将所需的密码和我所需私钥的路径存储在非版本控制的文件中。
我不想将用于建立 SSH 连接的凭据存储在我的磁盘上——尤其是我的任何私钥的密码。
那么,为什么除了需要服务器名称之外还有其他内容?
我看到 Laravel 在其远程配置中准备了这些字段 - 我只是无法找出最终负责的组件以及为什么它没有将 SSH 连接完全留给系统本身。
是Rocketeer、Laravel、Symfony、phpseclib还是php本身需要这么多信息来建立 SSH 连接?
git - ssh-agent 不在 CMD 中创建
我在 CMD 中使用了以下命令:
输出是:
'eval' 不是内部或外部的、可运行的程序或批处理文件。
在 CMD 中寻找解决方案,它在 gitbash 中运行良好
git - 无法 git pull/push 到远程服务器上的 github。虽然 ssh-agent 已启用并且应该转发到远程
我的配置(ununtu 14.04 和服务器 ununtu 13.1) 在我家(本地)~.ssh/config 中遵循这个 github 教程:
在我的全局(本地)/etc/ssh/ssh_config 中:
还尝试forwardAgent
了 sshd_config 中的行。并在远程 sshd_config
这是连接的日志(使用 -vvv 标志运行 ssh): 注意!我可以 ssh 到远程服务器!但是 ssh-agent - 将 ssh 权限从我的计算机转发到远程无法正常工作,因此我无法 git push/pull
但是在远程服务器中,当我尝试 git push 或只是 github ssh 测试时:
ssh -T git@github.com
我得到一个:
Permission denied (publickey).
任何线索?想法?谢谢!
ssh - 自动添加非默认私钥 SSH 身份验证代理
为方便起见,我没有“默认”私钥,通常~/.ssh/id_rsa
是~/.ssh/id_dsa
或~/.ssh/identity
。我有多个密钥来管理多个帐户,一个用于工作,一个用于个人。我使用 SSH 代理转发来获得正确的身份验证。这一切都很好。
我遇到的问题是在每次注销/重新启动后,SSH 代理不会自动添加我的密钥,因为它似乎只查找默认命名密钥,如 GitHug 所述:错误:权限被拒绝(公钥):确保您有一个正在使用的密钥。
有没有办法定义 SSH 代理在加载时应该自动添加哪些密钥,或者我每次都必须手动添加它们?可能创建一个在登录时打开并添加它们的脚本。
python - 使用 python paramiko 的 SSH 密钥转发
我们目前在我们的桌面上运行一个脚本,该脚本使用 paramiko ssh 到远程 linux 主机。一旦我们在远程 linux 主机上,我们执行另一个命令来登录另一台远程机器。我们想要做的是从 paramiko 将密钥传递给远程服务器,这样我们就可以再次使用它们来 ssh 到另一个远程主机。
这将是 linux 中 'ssh -A remotehost.com' 的等效功能。
macos - Mac OS 10.9/Mavericks 上的 ssh-askpass 坏了?
在 Mac OS 10.7 和 10.8(单独的计算机)上,我一直在使用 ssh-askpass 脚本来验证 SSH 密钥的使用:
https://github.com/TimZehta/mac-ssh-confirm
但是,这似乎不适用于 Mavericks/10.9?
普通的 SSH 密钥可以正常工作:
但是使用-c,它不再起作用..
/usr/libexec/ssh-askpass 由 root 拥有并具有 +x。它似乎甚至没有被执行(添加了简单的“touch a-logfile”行,从未调用过)。
关于如何进一步调试的任何想法或提示?
谢谢
vagrant - Vagrant 中的 SSH 代理转发
我正在使用 Vagrant 来启动多 VM 环境(VirtualBox Hostonly 模式)。每个 VM 都启用了 ssh 代理转发。作为“流浪”用户,我可以连接到我的 Bitbucket 帐户并从 VM 中检出存储库。以下是相关的控制台日志:
每个 VM 也有一个用户,“go”。当我以“go”身份登录并尝试连接到 Bitbucket 时,它会引发错误。甚至 SSH_AUTH_SOCK 也没有设置:
sudoers 文件有:
因此,当“vagrant” sudo 进入“go”时,ssh-agent 连接应该被转发。我在这里想念什么?
主机是 Mac OS X 10.8,而虚拟机是 CentOS 6.5 机器。
谢谢!
git - 使用 Ansible 进行 SSH 代理转发
我正在使用 Ansible 1.5.3 和带有 ssh 代理转发的 Git ( https://help.github.com/articles/using-ssh-agent-forwarding )。我可以登录到我正在使用 Ansible 管理的服务器并测试我与 git 的连接是否配置正确:
我还可以使用此帐户克隆和更新我的一个存储库,因此当我通过 ssh 直接登录到我的服务器时,我的 git 配置看起来不错并使用 ssh 转发。
问题:当我使用 Ansible 命令模块尝试上面显示的相同测试时。它因“权限被拒绝”而失败。Ansible 输出的一部分(带有详细日志记录)如下所示:
这是运行此命令的简单剧本:
问题:为什么当我通过 ssh 手动登录并运行命令时一切正常,但当通过 Ansible 以同一用户身份运行同一命令时失败?
如果没有其他人超过我,我会尽快发布答案。尽管我使用 git 来演示该问题,但任何依赖 ssh 代理转发的模块都可能发生此问题。它不是 Ansible 特有的,但我怀疑很多人会在这种情况下首先遇到这个问题。
git - Vagrant shell 和 ansible 配置因 bitbucket 失败
我不能强制 vagrant 配置从 bitbucket 克隆私有 git 存储库。我有流浪者 1.6.3。
我在 ssh_keys 中的位置:
然后在 setup_project 我打电话:
输出是:
但是,当我vagrant ssh
进入盒子,然后按顺序调用相同的 git clone 命令时 - 一切正常。我还测试了ansible config,但问题完全相同。
这里有什么问题?
macos - SSH-ADD 密钥被刷新
我最近从 Ubuntu 机器切换到 Mac,我遇到了这个奇怪的 ssh 问题,我无法理解为什么?
每次我通过使用 ssh-add 添加 ssh 列表的私钥通过 Mac 重新启动/重新启动时,都会不断刷新
我不确定这是否是理想的行为,ssh-add
但我知道我没有在我的 Ubuntu 机器上执行此操作,也没有在我早期的 Mac 机器上执行此操作,任何新创建的 ssh 密钥也没有添加到ssh 添加列表
现在我不确定为什么新 Mac 不能像上面那样工作
无论如何要解决这个问题,我必须每次(手动)像这样添加我的身份
现在谁能解释一下这种奇怪行为的原因以及解决它的可行解决方案
为什么我需要这个是因为我有一个 Capistrano 脚本
并且每次我运行cap 脚本时,它都会因为上面解释的相同原因而失败,并且只有当我使用上面提到的命令将私钥添加到 ssh-add时才会成功
有问题的 Mac OS 是