【发布时间】:2019-09-01 08:14:34
【问题描述】:
当我尝试 ssh 到 Heroku 时,我的权限被拒绝。
我能够成功添加我的密钥,该密钥保存在我的用户根目录中的~/.ssh。
但是,当 Heroku 尝试连接时,我看到它出于某种原因在 /c/ChromeBrowser/depot_tools/.ssh/id_dsa 内部查看,而不是我的实际用户根文件夹。
我该如何解决这个问题?
【问题讨论】:
当我尝试 ssh 到 Heroku 时,我的权限被拒绝。
我能够成功添加我的密钥,该密钥保存在我的用户根目录中的~/.ssh。
但是,当 Heroku 尝试连接时,我看到它出于某种原因在 /c/ChromeBrowser/depot_tools/.ssh/id_dsa 内部查看,而不是我的实际用户根文件夹。
我该如何解决这个问题?
【问题讨论】:
Heroku 将尝试几个键(rsa、dsa、...),都在 %HOME%(或 $HOME)中。
所以你需要检查一下:
HOME 设置为你的本地根目录~/.ssh 文件夹含义,设置为用户环境变量HOME 到c:\Users\Robert)。这与ssh-agent 无关,仅当您的私钥受密码保护时才需要。我建议使用无密码密钥进行测试。
在这里,Heroku 无论如何都找不到正确的密钥。
【讨论】:
将 ssh 密钥添加到您的 ssh-agent 中,它应该可以工作。
# add the default ~/.ssh keys to the ssh-agent
ssh-add
# restart the ssh-agent
eval $(ssh-agent)
ssh-addssh-add 将 RSA 或 DSA 身份添加到身份验证代理 ssh-agent。
当不带参数运行时,它会添加文件~/.ssh/id_rsa、~/.ssh/id_dsa和~/.ssh/identity。可以在命令行中给出其他文件名
eval $(ssh-agent)通过调用 eval 加载添加的 ssh-key。
【讨论】: