Questions tagged «ssh-agent»

10
ssh-agent转发和sudo到另一个用户
如果我拥有可以使用ssh密钥登录到的服务器A,并且具有“ sudo su-otheruser”的能力,则将丢失密钥转发,因为已删除了env变量,并且套接字只能由原始用户读取。有没有办法可以通过“ sudo su-otheruser”桥接密钥转发,以便可以使用转发的密钥(在本例中为git clone和rsync)在服务器B上做一些事情? 我能想到的唯一方法是将我的密钥添加到otheruser和“ ssh otheruser @ localhost”的authorized_keys中,但这对于我可能拥有的每个用户和服务器组合都是很麻烦的。 简而言之: $ sudo -HE ssh user@host (success) $ sudo -HE -u otheruser ssh user@host Permission denied (publickey).

2
使用来自SSH代理的特定转发密钥?
假设我有一个Github的钥匙,还有其他钥匙。我ssh-add -L在家用计算机A上的ssh代理中添加了很多密钥(返回很多行)。在我的.ssh/config主机中,我设置了与哪个主机一起使用的密钥。 ssh -T -vvv git@github.com 2>&1 | grep Offering 给 debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github 正如预期的那样,仅提供一个密钥。但是然后使用ssh-sing到某些主机B ForwardAgent yes并重复相同的命令,我得到了 debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2 debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github 表示它会尝试我所有的键。这是有问题的,因为在服务器返回之前只能尝试有限数量的密钥Too many authentication failures。所以我尝试.ssh/config在主机B上进行编辑以包括 Host github.com IdentityFile /Users/doxna/.ssh/id_rsa.github IdentitiesOnly yes 但是后来我没有得到关键的产品,而是 debug2: …
30 ssh  ssh-agent 

6
我可以在Cygwin的ssh中使用PLink和Pageant吗?
由于GUI工具使用了Putty的Pageant和PLink实用程序,因此我现在使用msysgit,但是我将Cygwin用作通用的SSH终端。我曾经在Cygwin上使用ssh-agent,但这意味着我必须为两个SSH密钥管理器输入我的SSH密钥密码。是否可以将我所有的Unix端口工具(msys,git,cygwin,Ruby Net:SSH等)配置为使用PLink / Pageant而不是ssh-agent?看起来这就是PLink的用途,但是我找不到有关此方法的文档。
26 ssh  putty  cygwin  ssh-agent 

7
从Shell脚本运行ssh-agent
我正在尝试创建一个shell脚本,该脚本除其他外将启动ssh-agent并向该代理添加私钥。例: #!/bin/bash # ... ssh-agent $SHELL ssh-add /path/to/key # ... 这样做的问题是ssh-agent显然启动了$ SHELL的另一个实例(在我的情况下是bash),并且从脚本的角度来看,它已经执行了所有操作,并且ssh-add以及它下面的任何内容都永远不会运行。 如何从我的shell脚本运行ssh-agent并保持其在命令列表中的移动?

10
SSH:权限被拒绝(公钥,gssapi-with-mic,密码)
================================================== ================== 更新:事实证明,sshd的配置host2不允许密码登录。感谢人们的回答。 ================================================== ================== 场景:为我的大学项目与一家公司合作。我需要先使用PuTTy SSH进入host1,然后再从SSH进入host2(见下文)。在host2上给了我一个用户名和密码。 我根本没有访问host2的权限,因此我不了解它sshd_config。 这是我尝试host2从host1以下位置SSH进入时发生的情况: 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 established. …
17 ssh  ssh-agent 

1
如何在Windows Server启动时将SSH密钥添加到PuTTY代理?
每次Windows服务器启动时-我需要在用户交互式登录之前,将私有SSH密钥添加到Putty Agent(pagent.exe)。密钥将由服务使用。 如果是需要使用密钥的普通用户,我将在“启动”文件夹中放置一个快捷方式,但是,这在服务器上不起作用,因为没有用户登录。 我在Windows Server 2008和Windows Server 2003上都需要此功能。 我认为这肯定是一个非常普遍的用例,因为使用SSH和SFTP进行公钥身份验证变得越来越普遍。

1
SSH ForwardAgent多跳
在过去的2个小时里,我一直在寻找解决以下问题的方法,但是没有运气。 发展: 我正在使用公共密钥身份验证连接到我的服务器。我使用ssh-agent转发来不必管理公用/专用密钥。 假设我有服务器A, B and C。 如果我从进行连接,则效果很好LOCAL ---> A ---> B。 如果我这样做也很好LOCAL ---> A ---> C。 现在,如果我尝试这样做LOCAL ---> A ---> B ---> C,则SSH无法从进行连接B to C。 值得注意的是:我以流动性连接到服务器A,而我以root身份连接到服务器B。由于流动性而连接到服务器B可以解决此问题,但这对我来说不是一个选择。 根据用户的建议,我ssh -A每次都要确保启用了代理转发。 我发现了一个类似的问题,但在这里没有答案:是否可以通过多跳链接ssh-agent转发? 根据这里的@Zoredache:https://serverfault.com/a/561576/45671,我只需要在每个中间系统上调整客户端配置即可。我相信我做到了。

1
从另一个非root用户访问SSH_AUTH_SOCK
场景: 我在本地PC上运行ssh-agent,并且所有服务器/客户端均设置为转发SSH代理身份验证。我可以使用本地PC上的ssh-agent在所有机器之间切换。那个有效。 我需要能够以自己的身份(user1)SSH到计算机,更改为另一个名为user2的用户(sudo -i -u user2),然后使用我在本地PC上运行的ssh-agent ssh到另一个机器。可以说我想做类似ssh user3 @ machine2的操作(假设user3在他们的authorized_keys文件中有我的公共SSH密钥)。 我已将sudo配置为保留SSH_AUTH_SOCK环境变量。 所有涉及的用户(user [1-3])都是非特权用户(不是root)。 问题: 当我更改为另一个用户时,即使正确设置了SSH_AUTH_SOCK变量,(将其设置为:/tmp/ssh-HbKVFL7799/agent.13799),user2也无法访问user1创建的套接字-哪个当然这是有道理的,否则user2可以劫持user1的私钥并以该用户身份跳来跳去。 如果我不是通过user2的sudo获取外壳,而是通过root的sudo获取shell,则此方案很好用。因为root自然可以访问计算机上的所有文件。 问题: 最好使用sudo,如何从user1更改为user2,但仍然可以访问user1的SSH_AUTH_SOCK?
11 ssh  sudo  ssh-agent 

3
通过文件名从ssh-agent选择身份
问题:我有20-30个ssh-agent身份。大多数服务器都拒绝使用进行身份验证Too many failed authentications,因为SSH通常不允许我尝试20种不同的密钥来登录。 目前,我正在使用IdentityFile和IdentitiesOnly指令为每个主机手动指定身份文件,以便SSH仅尝试一个有效的密钥文件。 不幸的是,一旦不再有原始密钥,此操作就会停止。ssh-add -l向我显示了每个密钥文件的正确路径,并且它们与中的路径匹配.ssh/config,但是它不起作用。显然,SSH通过公钥签名而不是文件名来选择身份,这意味着原始文件必须可用,以便SSH可以提取公钥。 这有两个问题: 我拔下持有钥匙的闪存驱动器时,它立即停止工作 由于密钥文件在远程主机上不可用,它使代理转发无用 当然,我可以从身份文件中提取公钥,并将其存储在我的计算机以及通常登录的每台远程计算机上。但是,这似乎不是理想的解决方案。 我需要的是通过文件名从ssh-agent选择身份的可能性,这样,即使在我SSH输入的远程主机上,我也可以使用.ssh/config或通过轻松选择正确的密钥-i /path/to/original/key。如果我可以“昵称”这些键,甚至不必指定完整路径,那就更好了。

2
SSH密钥问题:不是RSA1密钥文件的未知密钥类型'----- BEGIN'
backuppc服务器能够以root用户身份登录到远程计算机并进行备份,但是如果我以backuppc用户身份登录并尝试使用同一密钥ssh进入这些计算机,则该密钥将被以下调试输出拒绝: 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 …
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.