【问题标题】:How to store SSH host key in IntelliJ IDEA如何在 IntelliJ IDEA 中存储 SSH 主机密钥
【发布时间】:2011-10-08 11:20:12
【问题描述】:

当使用 SSH 作为 IDEA 的 git 集成的连接时,IDEA 不断要求将主机的 rsa 签名存储在主机密钥数据库中。按 Yes 有效,但不会将密钥存储在数据库中,下次使用连接时,IDEA 会出现同样的问题。按否会使连接失败。

我似乎找不到 IDEA 的 SSH 连接的任何配置,谷歌也没有提供任何有用的结果......关于如何摆脱密钥存储对话的任何想法?

使用:

Windows XP 上带有 JDK 1.6.0_22 的 IntelliJ IDEA 10.5.1

MySysGit 1.7.6 的 bin/ 和 mingw/bin 文件夹都在 %PATH% 中

“git.exe”作为IDEA中的git可执行文件

“IDEA ssh”作为 IDEA 中的 SSH 可执行文件

服务器端的openssh-server 1:5.5p1-6 (Debian Squeeze)

【问题讨论】:

    标签: git ssh intellij-idea key


    【解决方案1】:

    我刚刚在 Win7 上使用 IDEA 13 时遇到了同样的问题,通过在 Git 设置页面中切换到“本机”SSH 可执行文件解决了这个问题。我按照接受的答案的建议以管理员身份运行 Intellij 时这样做了,但接受的答案并没有解决问题直到我更改了 SSH 可执行文件。

    【讨论】:

    • 更改为原生是我需要做的所有事情,才能成功开始使用我的 SSH 密钥。在此之前,它总是要求输入密码。
    • 是的,这在 intellij 2016.1.1 上对我有用。谢谢!
    • 在 Linux 上也是不错的选择,在 Linux 上找到正确配置的本机 SSH 的可能性非常高!
    • 是的,但如果你没有管理员权限,你就完蛋了?
    • 对我来说,在 AS 设置中切换到 Built-in SSH 可执行文件解决了问题
    【解决方案2】:

    我在使用 IDEA 13 和 14 时遇到了同样的问题。默认情况下,IDEA 将尝试在 %HOME% 目录中创建/访问 .ssh/known_hosts 文件。

    但是,我的系统(Windows 7 Enterprise x64)上没有定义 %HOME%。 IDEA 不会存储密钥;相反,它会在每次操作时都要求它。

    当我定义 %HOME%(在我的例子中为%HOME% = %HOMEDRIVE%)时,一切都像宣传的那样工作。

    这是 IDEA 中的confirmed bug;它应该搜索:

    • %HOME%
    • %HOMEDRIVE%
    • %HOMEPATH%
    • %USERPROFILE%

    还要检查this issue

    【讨论】:

    • 这实际上仍然适用于 2016.2.3。我只是将 HOME 设置为与 USERPROFILE 相同的值,并且内置 SSH 客户端开始使用该目录中的我的 .ssh 目录。
    • 我找到的另一个解决方案是:以管理员身份运行 IntelliJ。为什么这也行得通?
    【解决方案3】:

    Windows 似乎并没有让 IDEA 像人们想象的那样轻松更改您的个人设置。确保可以保存主机签名可解决此问题。要让 IDEA 执行此操作,请在 Vista/Win7 上以管理员身份运行 IDEA,或在 XP 的 运行方式 对话框中取消设置“保护我的计算机免受未经授权的程序活动”。建立 SSH 连接并保存签名后,这修复了烦人的对话框。保存签名后,即使以普通用户身份运行,IDEA 也会接受主机。

    【讨论】:

    • 还有其他想法吗?我在这个问题中描述了同样的问题,在 Windows 7 上的 IntelliJ IDEA Community Edition 13(最新)上,甚至从管理员权限开始,我仍然有这个 - 最后 - 非常烦人的弹出窗口(“确认SSH 服务器密钥”>“是否要将此主机添加到已知主机数据库”)。
    【解决方案4】:

    我也有 mSysGit,我已将 "C:\Program Files (x86)\Git\bin" 放在 PATH 上。

    将 IntelliJ 与 mSysGit 以及带有私钥/公钥的 ssh 协议一起使用时至少存在两个问题:

    IntelliJ 不知道如何显示有关“主机的真实性......无法建立”的消息,所以是的,它有助于手动运行一次 git 命令以更新 .ssh/known_hosts 文件。

    当 mSysGit 在“Git Bash”之外直接启动时,它不会“知道”您的主目录在哪里并用作 .ssh 文件夹 "C:\Program Files\Git\.ssh"

    我想知道设置一个指向 Windows 主目录的 HOME 环境变量是否会有所帮助。更令人困惑的是,不同的工具对主目录所在的位置有不同的概念。

    • Cygwin 认为我的主目录在 C:\Users\myself\AppData\Roaming 下。
    • Java 应用程序认为我的主目录在C:\Users\myself
    • 我的网络主驱动器是公司网络上的 H:\,一些工具认为我真正的主驱动器是 H:\

    【讨论】:

      【解决方案5】:

      您是否尝试过命令行 ssh 到服务器,然后接受主机密钥?那应该存储它,因为它不会经过一些 Java/JNI/Windows 扭曲。

      【讨论】:

      • 我也有这个想法。可悲的是,它没有那样工作。 IDEA 并没有像那样寻找known_hosts。但是我确实解决了这个问题(我现在会自己回答:P)。
      【解决方案6】:

      我不能 100% 确定您的问题与什么有关,但 jetbrains 在他们的文档中有一个关于为 git 设置 ssh 密钥的页面: using-git-integration.html

      我在 Mac 上运行 idea,并且在标准 unix ~/.ssh 中有我的 ssh 密钥,我从来没有收到任何关于密钥存储的问题。 在 Windows 上,您可能应该将 ssh 密钥放在 C:\Documents and settings\username.ssh

      在解决 vcs 问题时,还可以查看 idea 中的版本控制选项卡以获取更具体的消息。

      【讨论】:

      • 这个问题与登录的 ssh 密钥无关,我使用了一个简单的密码,目前还可以。问题是服务器发送的 rsa 签名供客户端用来验证与正确服务器的连接。
      【解决方案7】:

      简单的解决方案,
      在 IDE 中
      工具-->部署-->选项 向下滚动, SFTP 高级选项(IDE 级别设置)

      更改将新主机密钥添加到 known_known hosts 到 always

      【讨论】:

        【解决方案8】:

        打开 Terminal 并在下面运行给定的命令 SSH 密钥问题将得到解决。

        git config --global http.sslVerify false
        

        【讨论】:

        • 这只有一个downvote,没有cmets,所以我觉得有必要在这里发表评论。这是疯狂危险的。不要这样做。
        猜你喜欢
        • 1970-01-01
        • 2020-11-10
        • 2019-04-23
        • 2018-09-13
        • 2016-05-02
        • 2021-03-26
        • 2011-05-08
        • 1970-01-01
        • 2020-03-03
        相关资源
        最近更新 更多