Questions tagged «ssh-agent»

SSH代理是一个实用程序,它提供了一种安全的方式来存储SSH连接中使用的私钥的密码短语

17
在多个登录会话中共享相同的“ ssh-agent”
有没有一种简便的方法来确保来自给定用户(即我)的所有登录都使用相同的ssh-agent?我破解了一个脚本,使它大部分时间都可以正常工作,但是我一直怀疑我错过了某种方法。此外,自那时以来,计算机技术有了惊人的进步,例如本网站。 所以这里的目标是 每当我登录到该框时,无论它是通过SSH还是在从gdm / kdm / etc启动的图形会话中,还是在控制台上: 如果我的用户名当前没有ssh-agent运行,则启动,导出并ssh-add调用环境变量。 否则,现有座席的坐标将导出到登录会话的环境变量中。 当所涉及的盒子在ssh进入第三个盒子时用作中继点时,此功能特别有价值。在这种情况下,它避免了每次ssh进入然后想要执行git push某事时都必须键入私钥的密码。 下面给出的脚本可以可靠地完成此任务,尽管它最近在X崩溃时崩溃了,然后我开始了另一个图形化会话。在这种情况下,可能还有其他问题。 这是我的好坏脚本。我从我的来源.bashrc。 # ssh-agent-procure.bash # v0.6.4 # ensures that all shells sourcing this file in profile/rc scripts use the same ssh-agent. # copyright me, now; licensed under the DWTFYWT license. mkdir -p "$HOME/etc/ssh"; function ssh-procure-launch-agent { eval `ssh-agent -s …
61 ssh  login  session  ssh-agent 

2
如何清除ssh-agent条目(在Mac OS X上)?
我正在运行Mac OS X,看来在使用身份文件SSH到多台计算机后,我的“ ssh-agent”建立了大量的身份/密钥,然后有时向远程计算机提供过多的身份/密钥,导致它们在连接之前将我踢开: 收到与10.12.10.16的断开连接:2:cwd的身份验证失败太多 很明显发生了什么,此页面对此进行了更详细的讨论: SSH服务器仅允许您尝试进行一定次数的身份验证。每次失败的密码尝试,提供的每一次失败的pubkey /身份等等,都会占用这些尝试之一。如果您的代理中有很多SSH密钥,则可能会发现SSH服务器可能会在允许您尝试进行密码身份验证之前将您踢出局。在这种情况下,有几种不同的解决方法。 重新启动会清除代理,然后一切正常。我还可以将以下行添加到我的.ssh/config文件中,以强制其使用密码身份验证: PreferredAuthentications keyboard-interactive,password 无论如何,我在引用的页面上看到了有关从代理中删除密钥的说明,但是我不确定这是否适用于Mac,因为无论如何重启后它们似乎都会被清除。 有没有一种简单的方法可以清除“ ssh-agent”中的所有密钥(重启时会发生相同的事情)?
60 linux  macos  unix  ssh  ssh-agent 

4
如何使ssh-agent按需自动添加密钥?
我想运行ssh-agent(具有最长生存期选项),但不希望在启动时添加任何密钥,而是根据需要添加它们。 就像我第一次登录某个服务器时,它应该询问密码,下次(除非我等了一个多小时),它应该干净地连接: ssh server1 Enter passphrase for key '/home/vi/.ssh/id_dsa': server1> ... ssh server2 server2> # no passphrase this time # wait for lifetime ssh server2 Enter passphrase for key '/home/vi/.ssh/id_dsa': 我不想手动记住每次运行“ ssh-add”的信息。(例如,仅为ssh输入了密码,“哦,它不记得了,需要重新输入”)。 如果用户提供了密码,如何配置ssh以自动向ssh-agent添加密钥?
51 ssh  ssh-agent 



7
如何在Mac OS X Lion上每次都不用输入密码的情况下使用SSH私钥登录?
我每天都使用Mac OS X Lion并通过SSH登录远程主机。尽管我使用SSH密钥对进行远程身份验证,并且我不需要动用每台主机的登录短语,但终端仍然要求提供访问我的SSH私钥的密码,这仍然很令人讨厌。 出于安全考虑,我认为必须使用用于访问SSH私钥的密码。有没有一种方法可以使终端在启动时仅一次询问该短语,然后记住它,并在以后的SSH会话中自动使用我的私钥? 有一个名为的脚本keychain可以在Gentoo Linux上正常工作。但是我从来没有在Mac OS X Lion上弄清楚它。而且,还有许多令人生畏的术语,例如ssh-agent,ssh-add。在阅读了关于那些SSH工具包的各种材料并进行了一些沮丧的实验之后,我变得更加困惑。 因此,我来​​到StackExchange,以寻求有关以下问题的建议。 什么是ssh-agent,ssh-add,keychain,Keychain Access.app以及他们如何互相交流? 如何在登录时为SSH私钥输入一次密码短语,并在以后的SSH会话创建中自由使用它? Errr ...怎么了Keychain Access.app?它不像以前那样存储SSH短语。 我列出了我在这里所做的事情。希望有关于我错过的步骤的线索。 步骤1.在Mac上创建一个SSH密钥对。 $ ssh-keygen -t rsa -C "me@email.com" # Set a passphrase for accessing the private key. 步骤2.将我的SSH公钥复制到远程主机。举个例子,我将密钥复制到Mac的localhost。 $ ssh-copy-id USER@localhost # Enter the login password for USER at localhost, not my SSH …

2
ssh-agent转发需要额外的配置吗?
该指南在解释ssh-agent如何在多个系统上工作方面做得很好。我希望按照上一组图表中的设置进行转发,但是在跟踪所需的步骤时遇到了麻烦。 对于网络上的某些计算机,我可以从A到B,然后从B到C切换,而无需输入证书密码。但是,其他计算机给出“无法打开与身份验证代理的连接”的消息(有时!),则不会转发我的身份验证信息。从其中一台计算机到网络上的另一个盒子的SSH提示再次输入我的私钥密码。 我没有建造这些机器,但是我可以管理其中一些。我不知道Boxen能正常工作与无效之间有什么区别-可能是防火墙问题,ssh / ssh-agent / sshd配置等等,而且我看不到任何步骤-专门针对网上浮动转发的分步指南。我只需要知道从哪里着手解决这个问题。

3
ssh-agent / ssh-add错误:无法打开与身份验证代理的连接
我输入ssh-agent并返回以下内容: SSH_AUTH_SOCK=/tmp/ssh-GqdeT074HLRJ/agent.4670; export SSH_AUTH_SOCK; SSH_AGENT_ID=4671; export SSH_AGENT_PID; echo Agent pid 4671; 然后输入ssh-add privkey.pem以下内容: Could not open a connection to your authentication agent 关于我在做什么错的任何想法吗?我也尝试sudo在每个命令之前添加,但输出几乎相同。
20 ssh  ssh-agent 

2
保存由ssh-add添加的身份,以便它们持久存在
我最近进行了设置,openssh因此可以与结合使用git。 在设置它的过程中(如本文所述),我运行了以下命令: $ eval "$(ssh-agent -s)" $ ssh-add ~/.ssh/<name of key> 一段时间后,我注销并重新登录后尝试使用,git push但出现错误。解决此错误的方法是再次运行这些相同的命令。 请告诉我我怎么能 保持ssh-agent运行状态,这样我就不必重新开始 记住我添加的密钥,这样我就不必每次都添加它们 为了澄清起见,我使用zsh,因此某些bash功能在我的.zshrc中不起作用。
19 linux  ssh  openssh  ssh-agent 

2
无法从ssh-agent删除密钥。即使重启也无济于事
不久前,我注意到ssh-agent中有三个无法删除的密钥。 ssh-add -l显示了三个键;我跑了ssh-add -D,被告知“所有身份已删除”。但随后立即ssh-add -l显示了相同的三个键。 如果我注销然后再登录,密钥仍然存在。如果我重新启动计算机,密钥仍然存在。如果删除中的密钥环目录/tmp,将无法再连接ssh-agent,但是注销并重新登录后,密钥将返回。他们是无敌的。 据我所知,这些钥匙是我的,而不是其他任何人的。我可以通过它们访问我通常的本地服务。但是,当我再次使用ssh-add,添加其中一个键时,给出了私钥文件的路径,新键在以下输出中具有不同的外观ssh-add -l: 2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA) 与原始版本: 2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA) 有什么办法可以合理地解释这种行为吗?我猜确实有两个问题: 即使在重新引导期间,如何设法保留密钥?我的基本知识ssh表明,密钥始终必须手动添加。 为什么要ssh-agent -D对我撒谎以消除身份?
18 ssh  ssh-agent 

7
如何在ssh和tmux中(在OS X上)使ssh-agent工作?
我为我的github帐户设置了一个私钥,我认为该密码存储在OS X的钥匙串中。当我打开终端窗口并输入时,我当然不必键入它ssh git@github.com。 但是,当我通过ssh会话或在tmux会话中本地运行bash时,每次尝试ssh到github时,都必须输入密码。 这个问题表明屏幕也存在类似的问题,但是我不太了解这个问题,无法在tmux中修复它。还有这个网页,其中包括相当复杂的解决方案,但zsh的。 编辑: 响应@Mikel的答案,从本地终端我得到以下输出: [~] $ echo $SSH_AUTH_SOCK /tmp/launch-S4HBD6/Listeners [~] $ ssh-add -l 2048 [my key fingerprint] /Users/richie/.ssh/id_rsa (RSA) [~] $ typeset -p SSH_AUTH_SOCK declare -x SSH_AUTH_SOCK="/tmp/launch-S4HBD6/Listeners" 而通过ssh或tmux我得到: [~] $ echo $SSH_AUTH_SOCK [~] $ ssh-add -l Could not open a connection to your authentication agent. [~] $ …
17 macos  ssh  tmux  ssh-agent 

1
使用AgentForwarding时在ssh_config中使用IdentityFile指令
是否可以使用.ssh / config中的IdentityFile指令指定转发的密钥? 尝试通过Capistrano / GIT在我们的生产服务器上部署一些代码时,我遇到了这个问题。我的个人GIT密钥和我的工作GIT密钥始终都加载到我的SSH代理中,而恰好是我的个人密钥首先添加到了代理中。我在通过Capistrano进行部署时使用代理转发,因此当主机尝试对git pull操作进行身份验证时,它失败并显示以下错误: 错误:“您的用户”拒绝了“某些仓库”的权限。 因为它尝试使用我的个人git密钥进行身份验证,然后再尝试使用适当的密钥(稍后在ssh代理中提供),并假定我正在访问我没有访问权限的外部存储库。我可能可以让个人用户访问每个工作仓库,但是在本地计算机上,可以通过在.ssh / config中定义自定义域来解决此问题,如下所示: 主机 personal.github.com 主机名 github.com 用户 git IdentityFile〜 / .ssh / some_key 主机工作 .github.com 主机名 github.com 用户 git IdentityFile〜 / .ssh / some_other_key 这样,git永远不会感到困惑。是否可以为生产盒上的转发密钥创建.ssh / config规则,以便他们在提取新代码时始终知道要使用哪个密钥?基本上我希望能够做到: 主机 work.github.com 主机名 github.com 用户的git IdentityFile some_forwarded_key 谢谢!

2
SSH密钥与用于其他目的的非对称密钥有何不同?
SSH密钥与用于其他目的(例如,电子邮件签名)的非对称密钥有何不同? 提示我这样做的部分原因是,在OS X上,有一些可用于管理SSH密钥的应用程序(ssh-agent,SSHKeychain等)以及旨在管理GPG密钥的应用程序(GPG钥匙串访问等),显然不是在二人见面的时候 但是,我不认为这是OS X特有的问题。 是因为密钥的种类完全不同,还是因为密钥存储在不同的位置,或者是出于某些其他原因或多种原因(例如历史原因)而将关注点分离?

7
Mac上的Filezilla:具有无密码身份验证的SFTP吗?
我正在尝试按照OSX的说明进行操作 http://wiki.filezilla-project.org/Howto 我可以ssh不用用户名/密码就可以成功地到达目标服务器(OSX从~/.ssh目录中提取我的证书),但是我不知道如何让Filezilla做到这一点。 我已经尝试过运行ssh-agent,但效果不佳。

4
SSH代理在重新启动计算机时丢失身份
在名称id_rsa位于默认位置的键之后。我正在使用SSH代理向SSH代理添加身份ssh-add ~/.ssh/id_rsa,它添加成功。 我可以使用SSH代理而无需输入密钥的口令即可进行SSH。 但是,当我重新启动计算机或服务器,然后使用命令检查身份时,ssh-add -L我收到如下消息The agent has no identities。 这是否意味着当我们重新启动计算机时,代理会丢失身份?这是正常的行为还是我在这里缺少的东西? 请指导我,我对SSH不太熟悉。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.