我的服务器只有一个ipv6地址,我的电脑可以通过这个地址直接ssh
。但是当我试图在Pycharm中的这台服务器上添加远程解释器时,它会在看到ipv6地址时告诉我SFTP host is invalid
。如何在Pycharm中通过ipv6添加远程解释器?
我该如何让它工作?谢谢!
更新:加括号[2001:da8:...]
有助于通过主机语法检查。但现在点击“确定”后,Pycharm告诉我“java.net.SocketException:协议族不可用”。如何通过这个?
我的服务器只有一个ipv6地址,我的电脑可以通过这个地址直接ssh
。但是当我试图在Pycharm中的这台服务器上添加远程解释器时,它会在看到ipv6地址时告诉我SFTP host is invalid
。如何在Pycharm中通过ipv6添加远程解释器?
我该如何让它工作?谢谢!
更新:加括号[2001:da8:...]
有助于通过主机语法检查。但现在点击“确定”后,Pycharm告诉我“java.net.SocketException:协议族不可用”。如何通过这个?
最后我得到了它的工作。
首先,一个有效的IPV6 SFTP地址必须包裹在括号中。也就是说,你应该写[2001:da8:201:1146:226:b9ff:....]
而不是2001:da8:201:1146:226:b9ff:....
。其次,如果你这样做,你会发现Pycharm告诉你“java.net.SocketException:协议族不可用”并拒绝连接。这是在JDK 1.7下运行的Pycharm问题(是的,Pycharm基于Java)。为了解决这个问题:
-Djava.net.preferIPv4Addresses=true
,但我不确定它是否重要。我不得不删除'-Djava.net.preferIPv4Addresses = true',这两个键都不起作用。删除后,这个解决方案也为我工作。 – dimmoborgir
如果错误是从PyCharm来(从SSH反对)我会建议在~/.ssh/config
创建一个别名,例如:
Host myipv6host
HostName 2001:da8:201:1146:226:b9ff:....
这样,你可以告诉pycharm连接到myipv6host,它从来没有查看ipv6地址。
你检查了SSH和SFTP工作与命令行的IPv6地址? –
@PenguinBrian是的,'ssh -6 the_ipv6_address'正常工作。但是Pycharm说这不是一个有效的地址,甚至不会让我点击OK来尝试连接它。 – DarkZero