我的服務器只有一個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