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

How to add remote interpreter via ipv6 in Pycharm?

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

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

更新:添加括号 [2001:da8:...] 有助于通过主机语法检查。但是现在点击 "Ok",Pycharm 告诉我 "java.net.SocketException: Protocol family unavailable"。如何通过?

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

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

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

我终于让它工作了。

首先,必须将有效的 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。

查看此处了解更多信息:https://intellij-support.jetbrains.com/hc/en-us/articles/207241215-Network-connectivity-issues-when-running-under-Java-1-7