Questions tagged «ssh-agent»

ssh-agent是OpenSSH软件中包含的SSH单一登录机制。使用此标记可查询有关如何配置和使用ssh-agent的问题。

16
如何在没有密码提示的情况下自动运行ssh-add?
我想通过SSH在网络(静态以太网)上的多台计算机之间进行通信。为了做到这一点,我需要在每次登录到特定计算机上时都运行ssh-add,我该如何做才能将其设置一次,并且每次我登录或重新启动时都不会要求我输入密码我的机器? 我知道有一种方法可以在bash_profile文件中添加一些行,但是每次我重新启动/登录到特定计算机时,我仍然需要输入密码。 if [ -z "$SSH_AUTH_SOCK" ] ; then eval `ssh-agent -s` ssh-add fi
247 ssh  ssh-agent 


8
ssh-add抱怨:无法打开与身份验证代理的连接
我一直在尝试ssh-add运行Raspbian的RaspberryPi。 我可以启动ssh-agent,然后在终端中输入以下内容: SSH_AUTH_SOCK=/tmp/ssh-06TcpPflMg58/agent.2806; export SSH_AUTH_SOCK; SSH_AGENT_PID=2807; export SSH_AGENT_PID; echo Agent pid 2807; 如果我运行,ps aux | grep ssh我可以看到它正在运行。 然后,我尝试运行ssh-add以添加我的密钥密码,然后得到以下信息: Could not open a connection to your authentication agent. 有任何想法吗?

3
ssh-add在重启之间不持久
我通过以下方式向代理添加了ssh密钥: $ ssh-add ~/.ssh/id_rsa_mac Identity added: /Users/alex/.ssh/id_rsa_mac (/Users/alex/.ssh/id_rsa_mac) 重新启动后,代理不再添加此密钥: $ ssh-add -l The agent has no identities. 为什么会这样呢?
150 ssh  osx  ssh-agent 

1
为什么要评估ssh-agent的输出?
为了运行ssh-agent我必须使用 eval $(ssh-agent) 为什么我要eval输出ssh-agent? 为什么不设计它以便我可以运行它? 注意:不推荐使用反引号(`)。例如,您可以在此处阅读有关它的更多信息。
66 shell  ssh  ssh-agent  eval 

2
如何在Debian 8.0上启用diffie-hellman-group1-sha1密钥交换?
我无法连接到要求diffie-hellman-group1-sha1密钥交换方法的服务器: ssh 123.123.123.123 Unable to negotiate with 123.123.123.123 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1 如何diffie-hellman-group1-sha1在Debian 8.0上启用密钥交换方法? 我曾尝试(如建议在这里),以 将以下行添加到我的 /etc/ssh/ssh_config KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1 Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr 重新生成密钥 ssh-keygen -A 重新启动ssh service ssh restart 但仍然得到错误。



1
如何将ssh-agent与多个(有效)密钥一起使用,并选择要使用的密钥?
假设有两个密钥A和B,这两个密钥对于user@host公共密钥身份验证都是有效的。由于authorized_keys根据密钥配置了不同的行为,因此~/.ssh/config在客户端上使用类似 Host A.host HostName host User user IdentityFile ~/.ssh/A Host B.host HostName host User user IdentityFile ~/.ssh/B 很好 但是,当我同时使用ssh-agent和添加两个密钥A和B(例如,为了在登录时输入其密码而不是在我分别致电ssh A.host或时ssh B.host)时,连接将始终对两个虚拟主机使用相同的ID。有什么方法可以指定从哪个存储密钥中ssh使用,ssh-agent而不必删除另一个密钥?
20 ssh  ssh-agent 

4
如何解决此ssh-agent问题?
我正在使用Linux Mint,并且似乎无法在登录时自动获得gnome-keyring来解锁。 我的问题的症状如下: $ ssh-add Identity added: /home/me/.ssh/id_rsa (/home/me/.ssh/id_rsa) $ git pull WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-Nmf3J3/pkcs11: No such file or directory 如何确保git可以在没有任何密码输入的情况下进行推/拉操作? 我意识到这里有一些与gnome-keyring和ssh-agent有关的东西,但是还无法确定。 ssh-add在会话期间运行意味着不再要求我提供SSH / git的密码。 问题是我需要ssh-add在每个会话期间运行-我必须丢失如何在登录时解锁Gnome的钥匙圈。 $ export | grep GNOME GNOME_KEYRING_CONTROL=/tmp/keyring-hjMM4V GNOME_KEYRING_PID=1961 在与第一次编辑相同的会话中再次发生。我做到git pull了WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-hjMM4V/pkcs11: No such file or directory。 $ env …

4
如果密钥已经在那里,请让ssh-add安静
我想放在ssh-add /path/to/special_key脚本的顶部。这可以正常工作,但始终提示您输入密码。这很奇怪,有点令人讨厌,因为即使ssh-add -l显示密钥已经被添加,它仍然要求输入密码。 有没有办法告诉它:“添加此密钥并询问密码是否还没有添加,否则什么也不做”?

3
如何仅在需要时才询问SSH密钥密码?
(我已经阅读了本网站上许多看起来相关的问题,我相信这是一个全新的问题。) 我在许多服务器上都有很多密钥,并且它们都受到密码短语的保护。 我喜欢输入密码和输入密码一样多-这确实浪费了生产力。 ssh-agent + ssh-add命令可用于登录外壳,这意味着您只需在登录时输入一次密码 钥匙串可用于使ssh-agent在注销后保持活动状态,例如,您可以拥有它,因此只需在启动时输入一次密码即可,或者可以使其保持活动状态约一个小时。 我遇到的问题是,这两种解决方案通常都是在shell登录中启动的(例如.zshrc),即使我不需要解锁,也要依靠我在登录时输入密码。(我对钥匙串使代理无限期地存活不满意。) 我只想在需要时才提示您输入密码(对于座席)。 这样我就可以登录到服务器A,做一些东西,然后ssh到服务器B,并在该点被要求提供密码。在服务器B上做一些事情,注销。回到A上,做一些更多的事情,再次向B SSH,不需要我的密码短语(由代理持有)。 我注意到这在Gnome之类的图形桌面上是可能的-您会弹出一个窗口,要求您在尝试ssh时立即解锁密码。所以这就是我想要的,但是要从控制台开始。
15 ssh  ssh-agent 

2
如何启动ssh-agent并将其用作systemd服务?
如何将ssh-agent作为systemd服务启动?网上有一些建议,但并不完整。 如果ssh-agent服务成功启动,如何自动添加未加密的密钥?从列表中添加密钥~/.ssh/.session-keys可能会很好。 之后如何SSH_AUTH_SOCK在任何登录会话中进行设置?最正确的方法是将其从ssh-agent服务推送到systemd-logind服务(不知道是否有可能)。普通的天真方法是将其添加到中/etc/profile。

4
未设置ssh代理(未设置SSH_AUTH_SOCK,SSH_AGENT_PID env vars)
我在Kubuntu 12.04上为朋友设置了一个新的用户帐户。当他使用时ssh,会出现以下错误: 无法打开与身份验证代理的连接 我们正在ssh一些bash脚本中运行。 在研究了可能导致该错误的各种因素之后,我想到了以下解决方案: $ eval `ssh-agent -s` $ ssh-add ~/.ssh/some_id_rsa 然后,他可以ssh按预期运行命令(和bash脚本)。 在运行这两个命令之前,不会在终端中设置env变量: $ echo $SSH_AGENT_PID $ echo $SSH_AUTH_SOCK $ 运行命令后,env变量将按预期设置。但是,它们不会保持设置状态(例如,在其他外壳中或在重新启动后)。 我想知道如何设置他的计算机,这样他就不必运行这两个命令来设置env变量。我不需要在计算机上运行它们。到目前为止,我还没有看到我们的机器之间有什么不同。 我在手册页中看到了此信息,但是它并没有告诉我Ubuntu通常是如何自动设置代理的,或者我朋友的计算机上正在发生什么,从而对他不起作用。 设置代理的方法主要有两种:第一种方法是,代理启动一个新的子命令,将某些环境变量导出到该子命令中,例如ssh-agent xterm&。第二个问题是,代理会打印所需的shell命令(可以生成sh(1)或csh(1)语法),这些命令可以在调用shell中进行评估,例如,ssh-agent -s对于bourne 类型的shell(例如sh(1)或ksh(1)和eval ssh-agent -c用于csh(1)及其派生类。 安装acct并重新启动后,这是输出lastcomm: ssh-agent F newuser __ 0.12 secs Wed Aug 7 11:02 ssh-agent F newuser __ 0.00 secs Wed Aug 7 …
13 bash  ssh  kubuntu  ssh-agent 

2
gpg-agent拒绝SSH密钥,并通过ssh-add报告“代理拒绝操作”
我在arch linux上使用openssh7.5p1和gnupg 2.1.21(这些是arch随附的默认版本)。我想gpg-agent用作ssh代理。我在我的内容~/.gnupg/gpg-agent.conf: pinentry-program /usr/bin/pinentry-qt enable-ssh-support Arch会自动从systemd启动一个gpg-agent,所以我设置了 export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh" 当我运行时ssh-add -l,它没有报告任何身份,并且没有ps报告gpg-agent --supervised我期望的过程。 不幸的是,当我运行时ssh-add,无论键类型是什么,它都不起作用。这是我如何尝试dsa的示例: $ ssh-keygen -f testkey -t dsa -N '' Generating public/private dsa key pair. Your identification has been saved in testkey. Your public key has been saved in testkey.pub. $ ssh-add testkey Could not add identity "testkey": agent …

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.