Làm thế nào để ssh đến ipv6 ubfox trong mạng LAN?


57

Tôi có thể ping hộp Ubuntu của mình thông qua lệnh: (trong đó c2h2ttt được liệt kê trong / etc / hosts)

c2h2@c2h2crawler:~/ttt$ ping6 -I eth1 c2h2ttt
PING c2h2ttt(c2h2ttt) from fe80::21b:21ff:fe22:e865 eth1: 56 data bytes
64 bytes from c2h2ttt: icmp_seq=1 ttl=64 time=10.3 ms
64 bytes from c2h2ttt: icmp_seq=2 ttl=64 time=2.06 ms
64 bytes from c2h2ttt: icmp_seq=3 ttl=64 time=1.33 ms

Và khi tôi thử ssh -6 c2h2tttnó cho thấy:

c2h2@c2h2crawler:~/ttt$ ssh -6 c2h2ttt
ssh: connect to host c2h2ttt port 22: Invalid argument

Lệnh nào là đúng?


Về phía máy chủ / etc / ssh / sshd_config có:

ListenAddress ::
ListenAddress 0.0.0.0

Tôi đã có thể ssh đến c2h2ttt qua ipv4 trên cổng 22. và netstat -lnt | grep :22

root@c2h2think:~# netstat -lnt | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN

ufw được sử dụng và nó cho phép bất kỳ lưu lượng truy cập vào trên cổng 22

root@c2h2think:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere

Và cấu hình iptables:

root@c2h2think:~# ip6tables -L -v -n
Chain INPUT (policy DROP 55 packets, 10758 bytes)
pkts bytes target     prot opt in     out     source               destination 
    0     0 ACCEPT     all      lo     *       ::/0                 ::/0        

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination 
    0     0 ACCEPT     all      *      lo      ::/0                 ::/0  

Bạn có thể cần phải chỉnh sửa tệp sshd.conf của mình và / hoặc khởi động lại sshd để nó nhận ra có địa chỉ v6 mới để nghe.

Kiểm tra xem netstat -lnt | grep :22(mở ổ cắm tcp số | chứa: 22) nói gì.
năm11

Bạn đã mở cổng 22 với ip6tables ... phải không?
Ignacio Vazquez-Abrams

Một giây tôi kiểm tra ip6tables
c2h2

Câu trả lời:


89

Hãy thử chỉ định giao diện cho máy khách ssh. Tiện ích ping6 cho phép bạn chỉ định một giao diện, tuy nhiên ssh không có công tắc cho điều đó, bạn phải sử dụng cú pháp này:

ssh -6 fe80 :: 21b: 21ff: fe22: e865% eth1

2
wow, nó hoạt động cảm ơn! chỉ vì vấn đề eth1
c2h2

2
đã thử nó, làm việc cho tôi, quá! Tại sao người ta phải chỉ định giao diện?
Max Beikirch

9
@MaxBeikirch vì MỌI giao diện mạng hoạt động đầy đủ sẽ có địa chỉ fe80 :. Vì vậy, hệ thống không biết giao diện nào sẽ gửi lưu lượng đến. Đây là một vấn đề định tuyến giao thông. Đối với các địa chỉ khác, hệ thống thường đưa ra các lựa chọn thông minh vì máy tính gán các tuyến đường cho các địa chỉ "lân cận" (nghĩa là các địa chỉ trong cùng một mạng con), nhưng điều đó không hoạt động với fe80: vì tất cả các giao diện mạng là một phần của cùng một mạng con.
TOOGAM

1
@TOOGAM Làm cách nào tôi có thể chỉ định hậu tố giao diện cho máy chủ lưu trữ ~/.ssh/config?
PVitt

@PVitt: Cách thông thường là chỉ định một mã định danh hệ thống (chẳng hạn như địa chỉ IP), sau đó xử lý ký hiệu phần trăm và sau đó là tên giao diện, như được thể hiện bằng câu trả lời đã xử lý% eth1 đến cuối IPv6 địa chỉ nhà. eth1 là định danh giao diện. Nếu điều đó không hiệu quả, hãy kiểm tra [trang man cho tệp OpenSSH có tên config] (man.openbsd.org/cgi-bin/man.cgi?query=ssh_config&sektion=5) và nếu điều đó không hữu ích, hãy xem xét thực hiện một câu hỏi mới (trên SuperUser) với các chi tiết chính xác hơn để chúng tôi có thể giúp bạn thêm.
TUYỆT VỜI

8

Liên kết các địa chỉ cục bộ không được sử dụng cho SSH, chúng dành cho các công cụ khởi động giao thức cấp thấp. Nếu bạn không có tiền tố do ISP cung cấp để sử dụng trên mạng của mình, thì hãy tạo tiền tố cục bộ duy nhất từ ​​fd00 :: / 8 thay thế:

http://en.wikipedia.org/wiki/Unique_local_address


//, Làm thế nào để một người truy cập vào một địa chỉ IPV6 có thể định tuyến được trong Internet IPv6 toàn cầu?
Nathan Basan

@NathanBasan: ISP của bạn phải cung cấp cho bạn dịch vụ IPv6 hoặc bạn thiết lập một đường hầm với một trong những nhà môi giới IPv6, như Hurricane Electric
Radu C

3
Liên kết địa chỉ địa phương là địa chỉ mạng. Nếu bạn muốn sử dụng chúng cho SSH, hãy tiếp tục. Chỉ cần biết cách xử lý bất kỳ (các) biến chứng nào, như câu hỏi này và câu trả lời của John T thảo luận. Tôi đã có một trường hợp mà một ULA (fd00 :: / 8) không được chỉ định như hy vọng. Trong trường hợp đó, SSH sử dụng một liên kết cục bộ (fe80 :: / 16) hoạt động rất tốt. Tôi tránh liên kết cục bộ chỉ vì rắc rối khi xử lý định tuyến (cần chỉ định giao diện), nhưng không phải vì các địa chỉ về mặt kỹ thuật không có khả năng gửi hoặc nhận lưu lượng.
TOOGAM

2

Để kết nối SSH IPv6, hầu hết bạn có kết nối ISP ISP trên máy tính của bạn và hơn là thử.

root@hostname[~]# ssh -6 2205:f200:40:401::9ab4:8b43

và lệnh này nó sẽ yêu cầu lần đầu tiên xác nhận khóa SSH. hơn loạiY/Yes

Lưu ý: 2205:f200:40:401::9ab4:8b43có nghĩa là IPv6 của bạn. Đây chỉ là ví dụ về IPv6 vì vậy đừng quên thay thế IPv6 của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.