Ssh-Agent
ssh-agent
在添加密碼後詢問密碼
我是新手
ssh-agent
,遇到了我認為是“錯誤”的東西。情況
- 我有一個受密碼保護的私鑰。
- 我想使用,
ssh-agent
所以我不會每次都寫密碼ssh
。ssh-agent
添加私鑰(根據ssh-agent -l
顯示的私鑰)。- 然而,當我嘗試
ssh
使用私鑰訪問遠端伺服器時(感謝~/.ssh/config
文件),ssh-agent
仍然要求我輸入密碼!環境
我在 Fedora
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
上,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
附加的私鑰路徑相同。