【问题标题】:Heroku thinks my ssh is in wrong placeHeroku 认为我的 ssh 放错地方了
【发布时间】:2019-09-01 08:14:34
【问题描述】:

当我尝试 ssh 到 Heroku 时,我的权限被拒绝。

我能够成功添加我的密钥,该密钥保存在我的用户根目录中的~/.ssh

但是,当 Heroku 尝试连接时,我看到它出于某种原因在 /c/ChromeBrowser/depot_tools/.ssh/id_dsa 内部查看,而不是我的实际用户根文件夹。

我该如何解决这个问题?

【问题讨论】:

    标签: git heroku ssh chromium


    【解决方案1】:

    Heroku 将尝试几个键(rsa、dsa、...),都在 %HOME%(或 $HOME)中。
    所以你需要检查一下:

    • Heroku 使用了正确的帐户
    • HOME 设置为你的本地根目录~/.ssh 文件夹含义,设置为用户环境变量HOMEc:\Users\Robert)。

    这与ssh-agent 无关,仅当您的私钥受密码保护时才需要。我建议使用无密码密钥进行测试。
    在这里,Heroku 无论如何都找不到正确的密钥。

    【讨论】:

    • 是的,Heroku 认为您的密钥放错了位置:它使用的是什么帐户? HOME 设置为什么值?
    • @Robert 在你的情况下 ~/.ssh 应该是什么路径?
    • c:\Users\Robert\.ssh\ 但 heroku 认为它在 ChromeBrowser 文件夹中。
    • @Robert 然后将 HOME 作为用户变量(不是系统)设置为 C:\Users\Robert,并打开一个新的 shell(以继承该变量)并重试。
    • 成功了!我将其添加为用户变量并将其指向我的用户文件夹。谢谢!
    【解决方案2】:

    将 ssh 密钥添加到您的 ssh-agent 中,它应该可以工作。

    # add the default ~/.ssh keys to the ssh-agent
    ssh-add
    
    # restart the ssh-agent
    eval $(ssh-agent)
    

    ssh-add

    ssh-add 将 RSA 或 DSA 身份添加到身份验证代理 ssh-agent。
    不带参数运行时,它会添加文件~/.ssh/id_rsa~/.ssh/id_dsa~/.ssh/identity

    可以在命令行中给出其他文件名


    eval $(ssh-agent)

    通过调用 eval 加载添加的 ssh-key。

    【讨论】:

    • 不,它只检查“/c/ChromeBrowser/depot_tools/.ssh/id_dsa”文件夹...我认为这是由于很久以前我有一个开发人员设置了 chroumim我的 Windows 计算机上的项目并默认了一些变量。但是我不确定如何切换它。所以它不只是看起来在那里。
    • 转到控制面板,在系统下编辑路径属性并编辑您的主文件夹
    猜你喜欢
    • 1970-01-01
    • 2018-12-07
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    相关资源
    最近更新 更多