如何在 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的)。解决这个问题:
- 打开帮助 |编辑自定义 VM 选项
- 在里面添加-Djava.net.preferIPv6Addresses=true。您可能还想删除
-Djava.net.preferIPv4Addresses=true
,但我不确定它是否重要。
- 重新启动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的)。解决这个问题:
- 打开帮助 |编辑自定义 VM 选项
- 在里面添加-Djava.net.preferIPv6Addresses=true。您可能还想删除
-Djava.net.preferIPv4Addresses=true
,但我不确定它是否重要。 - 重新启动Pycharm。