我想将应用程序从我的 Mac 部署到我的 ubutun 18.04 服务器。问题是当我去我的服务器并执行一个简单的命令时,比如 ssh -T git@bitbucket.org 一切正常。它不问我的密码等...
但是当我运行命令时
ssh deploy@ipofmyserver 'ssh -T git@bitbucket.org'
我有这个错误:git@bitbucket.org: Permission denied (publickey).
我的 ssh key 已生成并在我的 bitbucket 帐户中得到很好的通知。
我注意到当我连接 ssh deploy@... 时,用户代理没有启动。当我运行命令时
ssh deploy@... 'eval `ssh-agent -s` && ssh-add && ssh -T git@bitbucket.org'
它询问我的密码,我得到了可以连接的响应。我尝试使用此解决方案来使用已运行的用户代理:https://github.com/wwalker/ssh-find-agent但它不起作用。
有什么解决办法吗?
最佳答案
I try to use this solution to use a user-agent already running : https://github.com/wwalker/ssh-find-agent but it doesn't work.
如果如文档所述,您尝试使用
. ssh-find-agent.sh
在 ~/.bashrc
或 ~./.zshrc
,那是行不通的。您的问题的核心(ssh 内的 ssh)是 [ssh session 将显示为:
~/.bash_profile
在交互式 session 中(不是 .bashrc
)ssh user@server 'a command'
)你至少应该采购你的
.bash
( rc
或 _profile
)触发 . ssh-find-agent.sh
并查看它是否找到您的 ssh 代理(已在运行,已输入密码)如果您必须输入密码,您可能需要
expect
如 end of this answer 所示.OP jean-max确认in the comments采购
.profile
(不是 .bash_profile
)足以使 . ssh-find-agent.sh
工作。chepner提到 in the comments
ssh -J
"jump host" option ,这里是动态的:ssh -J deploy@ipfmyserver git@bitbucket.org
关于ubuntu - 当我在本地运行命令时未加载 ssh-agent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63425668/