如何在Pycharm中通过ipv6添加远程解释器?

时间:2017-03-02 02:51:26

标签: pycharm ipv6 remote-debugging

我的服务器只有一个ipv6地址,我的电脑可以通过这个地址直接ssh到它。但是,当我尝试在Pycharm中的此服务器上添加远程解释器时,它会在看到ipv6地址时告诉我SFTP host is invalid

我怎样才能让它发挥作用?谢谢!

enter image description here

更新:添加括号[2001:da8:...]有助于传递主机语法检查。但现在单击“确定”,Pycharm告诉我“java.net.SocketException:Protocol family unavailable”。怎么通过这个?

2 个答案:

答案 0 :(得分:2)

最后,我得到了工作。

首先,有效的IPV6 SFTP地址必须用括号括起来。也就是说,您应该写2001:da8:201:1146:226:b9ff:....

而不是[2001:da8:201:1146:226:b9ff:....]

其次,如果你这样做,你会发现Pycharm告诉你“java.net.SocketException:Protocol family unavailable”并且拒绝连接。这是在JDK 1.7下运行的Pycharm问题(是的,Pycharm基于Java)。要解决这个问题:

  1. 打开帮助|编辑自定义VM选项
  2. 在其中添加 -Djava.net.preferIPv6Addresses = true 。您可能还想删除-Djava.net.preferIPv4Addresses=true,但我不确定它是否重要。
  3. 重启Pycharm。
  4. 有关详细信息,请参阅此处:https://intellij-support.jetbrains.com/hc/en-us/articles/207241215-Network-connectivity-issues-when-running-under-Java-1-7

答案 1 :(得分:1)

如果错误来自PyCharm(而不是ssh),我建议在~/.ssh/config中创建一个别名,例如:

Host myipv6host
HostName 2001:da8:201:1146:226:b9ff:....

这样你可以告诉pycharm连接到myipv6host,它永远不会看到ipv6地址。