PyCharm:连接到vagrant Postgres DB时,SSH Auth失败

xjt*_*ian 3 django postgresql pycharm

我正在Pycharm 4.5.3中开发一个Django项目,我似乎无法连接到该项目的vagrant实例上的Postgres DB.Pycharm能够成功连接到该框以运行项目的远程解释器,我可以vagrant ssh很好,但每次我尝试在"数据库"选项卡下添加Postgres数据源时,我都会收到以下错误:

Connection to PostgreSQL - dbname@localhost failed: SSH: Auth fail
Run Code Online (Sandbox Code Playgroud)

我正在使用以下设置:

Database Tab:
    Host: localhost
    Port: 5432
    Database: dbname
    User: vagrant
    Password: <blank> (no password for this DB user)
    URL (autofilled): jdbc:postgresql://localhost:5432/dbname

SSH/SSL Tab:
    Proxy host: localhost
    Port: 2222
    Proxy User: vagrant
Run Code Online (Sandbox Code Playgroud)

有趣的是,当我尝试在SSH/SSL选项卡中使用密码auth并使用默认密码'vagrant'时,我得到一个弹出窗口,告诉我密码不正确,我知道这不是真的.任何人都知道问题可能是什么?

alf*_*ito 7

几乎一切都是对的.问题是由于身份验证失败,您无法通过ssh登录VM,因为错误消息指出.我只是设法连接更改auth方法.

为此,您必须选择Key pair身份验证类型并使用vagrant的私钥,该私钥位于<vagrant root>/.vagrant/machines/default/virtualbox/private_key.

这就是我的对话框的样子(我替换了我的实际路径<my vagrant root>):

在此输入图像描述

钥匙~/.vagrant.d/insecure_private_key将无效.

这个答案帮助我连接Pycharm,即使作者打印屏幕显示基于密码的身份验证.