
我和另外兩個人在一個團隊中工作。我們都可以使用個人 SSH 金鑰存取伺服器,並且可以直接登入伺服器。我們正在使用 ForwardAgent,更具體地說,我們三個人都有這樣的東西~/.ssh/config
(唯一的區別是我有id_rsa_osx
,他們有id_rsa
):
Host api1.domain.com
User deployer
Port 10000
ForwardAgent yes
PreferredAuthentications publickey
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa_osx
因此,透過鍵入,ssh api1.domain.com
我們都可以作為使用者部署者存取伺服器。問題是我是唯一一個無法直接從伺服器存取 github 的人。所以,當我打字時,我得到了“對於其他人來說,它工作正常”。ssh -T [email protected]
Permission denied (publickey).
我可以使用此金鑰從本機電腦存取 github,我的 github 配置如下:
Host github.com
User git
PreferredAuthentications publickey
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa_osx
我也嘗試過這個命令echo "$SSH_AUTH_SOCK"
並返回/tmp/ssh-yz4zn4fqMf/agent.16068
。我在 github 上有一個密鑰,並且我還嘗試添加另一個具有相同結果的密鑰。我完全沒有想法,我還該嘗試什麼?
答案1
問題是我沒有將密鑰添加到 ssh-agent 中。我輸入ssh-add my_key_path
並且它起作用了(要檢查您是否已添加它,請輸入ssh-add -l
)。