Ssh
ssh 忽略 ssh-agent
我正在使用一個新系統並且
ssh
忽略了我的ssh-agent
. 請注意,我在其他地方已經這樣做了多年,這不是我感到困惑的新事物。與bash
:> echo $SSH_AGENT_PID 1234 > echo $SSH_AUTH_SOCK /tmp/ssh-foo/agent.1234 > ps -p 1234 PID TTY TIME CMD 1234 pts/12 00:00:01 ssh-agent
因此,ssh-agent 顯然正在執行,並且適當的環境變數已經到位。我還驗證了套接字實際上在那裡。
> ssh-add key Enter passphrase for key: [done] Identity successfully added. > ssh-add -l 1024 SHA256:[blah] key
因此,密鑰已添加。但:
> ssh -i key me@there Enter passphrase for key:
赦免?
我
/etc/ssh/ssh_config
與我以前的系統中的一個(!#$% 升級…)有所不同,它們是相同的。根據發行版(fedora 23)包元資訊,這個是 openSSH 版本 7.1p1,我以前使用的安裝不超過 6.6。並非所有使用者都存在這個問題,這讓我相信這可能是一些新的安全功能。有誰知道怎麼回事?
這是一個新特性,大概是 7.x 的。它需要添加密鑰類型才能
/etc/ssh_config
使用此選項:PubkeyAcceptedKeyTypes +ssh-dss
預設情況下接受 RSA 密鑰(請參閱 參考資料
man ssh_config
),這就是為什麼它在一種情況下有效但在另一種情況下無效(作為 root 是一個紅鯡魚因素,我已經從問題中刪除了這個)。再次注意,該選項不在我以前的內容
ssh_config
中,也不在相應的手冊頁中(openssh v. 6.6)。