`ssh-agent` 添加后询问密码

`ssh-agent` 添加后询问密码

我是新手ssh-agent,遇到了我所认为的“漏洞”。

情况

  • 我有一个受密码保护的私钥。
  • 我想使用,ssh-agent所以我不会每次都写密码ssh
  • ssh-agent添加私钥(根据ssh-agent -l显示私钥)。
  • 然而当我尝试ssh使用私钥(感谢该~/.ssh/config文件)访问远程服务器时,ssh-agent仍然要求我输入密码

环境

我使用的Linux 4.5.7-202.fc23.x86_64 #1 SMP Tue Jun 28 18:22:51 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux是Fedora,ssh版本是OpenSSH_7.2p2, OpenSSL 1.0.2h-fips.这里有两个序列不能使用(我认为的)GNOME 3 密钥环代理和ssh-agent.

这里是~/.ssh/config

 IdentitiesOnly yes
[..]
Host root.w.com
    HostName 92.1.2.3
    User user
    Port 22
    IdentityFile /home/user/.ssh/key-rsa.priv

GNOME 3 密钥环代理

user@local:~$ ssh server-key
Enter passphrase for key '/home/user/.ssh/key-rsa.priv': 
You have new mail.
Last login: Sat Aug 13 10:41:46 2016 from some.ip.dot.org
user@remote:~$
Connection to <remote-ip> closed.
user@local:~$ echo $SSH_AUTH_SOCK
/run/user/1000/keyring/ssh
user@local:~$ echo $SSH_AGENT_PID

user@local:~$ ssh-add ~/.ssh/key-rsa.priv
Enter passphrase for /home/user/.ssh/key-rsa.priv: 
Identity added: /home/user/.ssh/key-rsa.priv (/home/user/.ssh/key-rsa.priv)
user@local:~$ ssh-add -l
4096 SHA256:aZl81hzUczH+sX+/5+tCJHln11xqta62RbtzLQt5LKE /home/user/.ssh/key-rsa.priv (RSA)
user@local:~$ ssh server-key 
Enter passphrase for key '/home/user/.ssh/key-rsa.priv': 
✘  user@local:~$ 

ssh-agent代理人

user@local:~$ eval $(ssh-agent)  
Agent pid 3169
user@local:~$ echo $SSH_AGENT_PID
3169
user@local:~$ echo $SSH_AUTH_SOCK
/tmp/ssh-nqpXUUf2qNpT/agent.3168
user@local:~$ ssh-add -D
All identities removed.
user@local:~$ ssh-add ~/.ssh/key-rsa.priv
Enter passphrase for /home/user/.ssh/key-rsa.priv: 
Identity added: /home/user/.ssh/key-rsa.priv (/home/user/.ssh/key-rsa.priv)
user@local:~$ ssh server-key 
Enter passphrase for key '/home/user/.ssh/key-rsa.priv': 
✘  user@local:~$ 

问题

  • 我应该怎么做才能ssh-agent不询问密码?
  • 知道为什么这些不起作用吗?

我的问题类似于这个问题尽管我阅读了答案并且该解决方案对我不起作用。

答案1

我刚刚发现IdentitiesOnly似乎需要本地计算机上的公钥才能正常工作。

如果本地计算机上没有公钥,即使私钥位于代理中,当然还有远程计算机上的公钥,系统也会始终提示我输入密码。

公钥路径与带附加的私钥路径相同.pub

答案2

正如@ilkkachu 所说,问题是IdentitiesOnly

在您的Host部分中,只需添加

IdentitiesOnly no

相关内容