Ssh-Agent

ssh-agent 在添加密碼後詢問密碼

  • May 12, 2019

我是新手ssh-agent,遇到了我認為是“錯誤”的東西。

情況

  • 我有一個受密碼保護的私鑰。
  • 我想使用,ssh-agent所以我不會每次都寫密碼ssh
  • ssh-agent添加私鑰(根據ssh-agent -l顯示的私鑰)。
  • 然而,當我嘗試ssh使用私鑰訪問遠端伺服器時(感謝~/.ssh/config文件),ssh-agent仍然要求我輸入密碼

環境

我在 FedoraLinux 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上,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才能不問密碼?
  • 知道為什麼這些不起作用嗎?

儘管我閱讀了答案並且解決方案對我不起作用,但我的問題與此問題類似。

正如@ilkkachu 所說,問題是IdentitiesOnly.

在你Host部分,只需添加

IdentitiesOnly no

我剛剛發現IdentitiesOnly似乎需要本地機器上的公鑰才能正常工作。

如果本地機器上沒有公鑰,我總是被提示輸入密碼,即使私鑰在代理中,當然還有遠端機器上的公鑰。

公鑰路徑與.pub附加的私鑰路徑相同。

引用自:https://unix.stackexchange.com/questions/303195