簡體   English   中英

Ruby sshkit IPv6字符串尋址問題

[英]Ruby sshkit IPv6 string addressing issues

我確信這是我的一個問題,我從根本上是誤解。 我正在使用sshkit連接並將一些文件上傳到具有IPv6尋址的服務器。

我可以通過SSH連接到服務器,其地址如下:

2001:aaa:bbb:cc:dddd:eeee:ffff:gggg

在我嘗試利用sshkit做同樣的事情之前沒有問題。 下面的示例說明了如何在我運行的腳本中的數組(包含許多地址)中表示相同的IPv6字符串:

on ["[2001:aaa:bbb:cc:dddd:eeee:ffff:gggg]"], in: :parallel do |host| #some stuff end

我最終看到的是:

Exception on host 2001:aaa:bbb:cc:dddd:eeee:ffff caught: getaddrinfo: nodename nor servname provided, or not known

請注意,尾隨字節似乎被截斷了? 我應該采用不同的方式格式化IPv6地址字符串嗎?

SSHKit目前有一個錯誤,我打算提交PR。 除非特別指出,否則基本上將尾隨字節作為端口號吞並。

### Without port number, it parses incorrectly
SSHKit::Host.new '[2001:db8:85a3:8d3:1319:8a2e:370:7348]'
 # => #<SSHKit::Host:0x007fc12318d7d8 @keys=[], @local=false, @user=nil, @hostname="2001:db8:85a3:8d3:1319:8a2e:370", @port=7348>

解決方法是指定端口

### With port number it works
SSHKit::Host.new '[2001:db8:85a3:8d3:1319:8a2e:370:7348]:22'
 # => #<SSHKit::Host:0x007fc1231e46c8 @keys=[], @local=false, @user=nil, @hostname="2001:db8:85a3:8d3:1319:8a2e:370:7348", @port=22>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM