Articles of ssh agent

SSH密钥问题:不是RSA1密钥文件未知密钥types“—– BEGIN”

backuppc服务器能够以root用户身份login到远程计算机上并进行备份,但是如果我以backuppc用户身份login并尝试使用同一个密钥sshlogin到这些计算机,该密钥将被拒绝,并显示以下debugging信息: OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /var/lib/BackupPC/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to XXX.XXXXXX.com [XX.XXX.XX.XX] port 222. debug1: Connection established. debug1: identity file /var/lib/BackupPC/.ssh/identity type -1 debug1: identity file /var/lib/BackupPC/.ssh/identity-cert type -1 debug3: Not a RSA1 key file /var/lib/BackupPC/.ssh/id_rsa. […]

如何使用ssh-agent启用密钥转发?

我使用了oh-my-zsh的ssh-agent来pipe理我的SSH密钥。 到目前为止,这么好,我只需要input我的私钥的密码一次,当我启动我的shell和公钥authentication工程很好。 但问题是密钥转发不起作用。 有2个服务器A和B,我可以使用公共密钥login。 当我ssh进入A然后从那里ssh到B,我必须提供我的密码,而不应该是这样的。 A是CentOS 5.6盒子,B是Ubuntu 11.04盒子。 我有我的本地.ssh/config : Host * ForwardAgent yes A上的OpenSSH是由CentOS提供的标准openssh 4.3软件包。 我也为A上的ssh客户端启用了ForwardAgent ,但是转发仍然不起作用。

ForwardAgent在Jenkins

我试图在“通过SSH发布”jenkins插件启用ForwardAgent。 这将允许jenkins在远程服务器上执行部署,rsyncs和svn + ssh checkout。 但在GUI中没有这个选项。 在/ etc / ssh / ssh_config和/var/lib/jenkins/.ssh/config中将ForwardAgent设置为yes,但是当Jenkins作业通过sshlogin时,远程会话没有在代理中加载密钥。 (“无法打开与您的身份validation代理的连接”。) 有没有办法强制ForwardAgent,或更好的方式来做到这一点(通过jenkins奴隶)? 感谢您的任何想法,非常感谢!

只允许代理转发中的特定密钥?

是否有可能使用代理转发,不包括所有的密钥被转发,除了特别说明的? 或者,是否有任何方法来指定每个会话尝试密钥的顺序? 使用ssh-agent需要pipe理不同的套接字: https : //superuser.com/questions/357602/use-a-specified-key-from-ssh-agent/401737#comment396923_358604 是否有更容易configuration的替代代理? 例如: Client A –> ssh/agent-forwarding –> Server B –> Server C | ——> Server D 我只想在代理转发中只允许一个密钥,允许: A -> B -> C ,而不是A -> B -> D 。 或者至less指定键被尝试的顺序。 (在@ jeff-ferland回答之后,为了清晰起见编辑)

从文件名中selectssh-agent的身份

问题:我有20-30个ssh-agent身份。 大多数服务器拒绝authenticationToo many failed authenticationsvalidationToo many failed authentications ,因为SSH通常不会让我尝试20个不同的密钥login。 目前,我正在使用IdentityFile和IdentitiesOnly指令手动为每个主机指定身份文件,以便SSH只会尝试一个密钥文件,这是可行的。 不幸的是,只要原来的密钥不可用,就会停止工作。 ssh-add -l显示每个密钥文件的正确path,并且它们与.ssh/config的path匹配,但是不起作用。 显然,SSH通过公钥签名而不是文件名来select签名,这意味着原始文件必须是可用的,以便SSH可以提取公钥。 这有两个问题: 只要我拔下闪存驱动器的钥匙,它就停止工作 由于密钥文件在远程主机上不可用,它使得代理转发无用 当然,我可以从我的身份文件中提取公钥并将其存储在我的计算机上,以及我通常login的每台远程计算机上。 这看起来不是一个理想的解决scheme,但。 我需要的是可以通过文件名从ssh-agent中select一个身份,这样我就可以使用.ssh/config或通过传递-i /path/to/original/key来轻松select正确的-i /path/to/original/key ,即使在远程主机我SSH'd成。 如果我可以“昵称”这些键,甚至不需要指定完整的path就更好了。

是否有可能使用环境variables中指定内容的ssh密钥?

我正在远程服务器上工作,我需要从另一个服务器使用我的私钥做一个git克隆。 但我不想将密钥存储在远程服务器上。 我想避免在远程服务器上存储ssh密钥,即使是临时文件。 这可能吗?

ssh代理转发失败,“无法打开连接到您的身份validation代理”

当我尝试使用OpenSSH客户端的代理转发选项( -A )从中间服务器连接到第三个服务器时,收到Could not open a connection to your authentication agent错误消息的连接。 到中间服务器的第一个连接使用加载到ssh-agent的密钥顺利进行。 尝试连接到最终服务器时显示错误消息。 我的OpenSSH客户端设置为允许在~/.ssh/config使用ForwardAgent yes进行转发,中间服务器在守护程序的configuration文件中具有AllowAgentForwarding yes 。 客户端configuration不会被系统级文件覆盖。 我没有使用terminal多路复用器,以避免由于未设置环境variables而导致错误。 要运行该代理,我使用exec ssh-agent zsh并validation在本地环境中是否存在SSH_AUTH_SOCK和SSH_AGENT_PID 。 我使用ssh-add分别为中间服务器和最终服务器添加私钥; 我validation它们是用ssh-add -l 。 所有服务器都是最新版本(OpenSSH 5.3),客户端是OpenSSH 6.2。

SSH / SFTP连接在OSX 10.8.2上无提示失败 – ssh-agent问题

我正尝试使用SSH或SFTPlogin到远程计算机。 当我尝试ssh [email protected] CLI只是不会回应。 我得到一个空白的新行,我可以input字符,但没有更多。 当我尝试使用相同的凭据连接到SFTP (我使用Transmit作为我的SFTP客户端),它只是永远挂起,并没有连接。 没有错误。 没有反应。 这个问题不是特定于frbit.com , frbit.com与我尝试连接的任何其他服务器保持一致。 SSH客户端debugging 用-vv标志运行ssh客户端我得到了以下输出: debug1: Reading configuration data /Users/matanya/.ssh/config debug1: Reading configuration data /usr/local/Cellar/openssh/6.1p1/etc/ssh_config debug2: ssh_connect: needpriv 0 debug1: Connecting to ssh1.eu1.frbit.com [46.137.57.195] port 22. debug2: fd 3 setting O_NONBLOCK debug1: fd 3 clearing O_NONBLOCK debug1: Connection established. debug1: identity file /Users/matanya/.ssh/id_rsa type 1 debug1: […]

从另一个非root用户访问SSH_AUTH_SOCK

场景: 我在本地PC上运行ssh-agent,并且我的所有服务器/客户端都设置为转发SSH代理authentication。 我可以使用本地PC上的ssh-agent在所有机器之间跳转。 这样可行。 我需要能够作为我自己(user1)SSH机器 ,更改为另一个用户名为user2( sudo -i -u用户2),然后ssh到另一个使用我的本地PC上运行的ssh代理盒子。 比方说,我想要做一些像ssh user3 @ machine2(假设user3在他的authorized_keys文件中有我的公共SSH密钥)。 我有sudoconfiguration保持SSH_AUTH_SOCK环境variables。 所有涉及的用户(用户[1-3])都是非特权用户 (不是root用户)。 问题: 当我更改为另一个用户时,即使SSH_AUTH_SOCKvariables设置正确(可以说设置为:/tmp/ssh-HbKVFL7799/agent.13799)user2无权访问由user1创build的套接字 – 哪一个当然是有道理的,否则user2可以劫持user1的私钥并像用户一样跳来跳去。 这种情况下工作得很好,如果不是通过sudo获得一个shell为user2,我通过sudo获得一个shell的根。 因为自然root可以访问机器上的所有文件。 问题是: 最好使用sudo, 我如何从user1更改为user2,但仍然可以访问user1的SSH_AUTH_SOCK?

SSH:权限被拒绝(公钥,gssapi-with-mic,密码)

================================================== ================== 更新:原来在host2上的sshd的configuration不会允许密码login。 感谢人们回答了这个问题。 ================================================== ================== 情景:与我的大学项目公司合作。 我需要首先使用PuTTy SSH进入host1 ,然后从那里通过SSH进入host2 (见下文)。 我在host2上获得了一个用户名和密码。 我根本没有访问host2,所以我不知道它的sshd_config 。 当我尝试从host1进入host2时发生了这种情况: ff@host1:~$ ssh -v host2 OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007 debug1: Reading configuration data /home/ff/.ssh/config debug1: Applying options for * debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to host2 [192.*.*.*] port 22. debug1: Connection […]