LAN에서 ipv6 우분투로 ssh하는 방법?


57

명령을 통해 우분투 상자를 핑할 수 있습니다. (c2h2ttt는 / 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

그리고 그것을 시도 ssh -6 c2h2ttt하면 다음과 같이 표시됩니다.

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

올바른 명령은 무엇입니까?


서버 측에서 / etc / ssh / sshd_config에는 다음이 있습니다.

ListenAddress ::
ListenAddress 0.0.0.0

나는 포트 (22)에 IPv4를 통해 c2h2ttt에 ssh를 할 수 있었다 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가 사용되고 포트 22에서 인바운드 트래픽을 허용

root@c2h2think:~# ufw status
Status: active

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

그리고 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  

sshd.conf 파일을 편집하거나 sshd를 다시 시작하여 청취 할 새 v6 주소가 있음을 인식해야합니다.

무엇을 확인 netstat -lnt | grep :22(숫자 TCP 소켓을 듣고 열 | 포함 : 22)을 말한다.
ephemient

당신은 바로 ...하여 ip6tables 오픈 포트 (22)?
Ignacio Vazquez-Abrams

답변:


89

ssh 클라이언트에 대한 인터페이스를 지정하십시오. ping6 유틸리티를 사용하면 인터페이스를 지정할 수 있지만 ssh에는 스위치가 없으므로이 구문을 사용해야합니다.

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

2
와, 고마워요! eth1 문제 때문에
c2h2

2
그것을 시도하고 나를 위해 일했습니다! 왜 인터페이스를 지정해야합니까?
Max Beikirch

9
@MaxBeikirch는 모든 완전 작동 네트워크 인터페이스에 fe80 : 주소가 있기 때문입니다. 따라서 시스템은 트래픽을 보낼 인터페이스를 알 수 없습니다. 이것은 트래픽 라우팅 문제입니다. 다른 주소의 경우, 컴퓨터가 "근거리"주소 (같은 서브넷의 주소를 의미)에 경로를 할당하기 때문에 시스템이 지능적으로 선택하는 경우가 종종 있지만 모든 네트워크 인터페이스가 동일한 서브넷의 일부이므로 fe80에서는 작동하지 않습니다.
TOOGAM

1
@TOOGAM 호스트의 인터페이스 접미사를 어떻게 지정할 수 ~/.ssh/config있습니까?
PVitt

@PVitt : 일반적인 방법은 시스템 식별자 (예 : IP 주소)를 지정하고 백분율 기호와 인터페이스 이름을 지정하는 것입니다 (% eth1에서 IPv6 끝까지 응답 한 것으로 표시됨). 주소. eth1은 인터페이스 식별자입니다. 그래도 문제가 해결되지 않으면 [OpenSSH의 파일 이름이 config 인 맨 페이지 (man.openbsd.org/cgi-bin/man.cgi?query=ssh_config&sektion=5)를 확인한 후에도 문제가 해결되지 않으면 보다 자세한 정보를 제공하는 새로운 질문 (슈퍼 유저).
TOOGAM 2016 년

8

링크 로컬 주소는 SSH에 사용해서는 안되며 낮은 수준의 프로토콜 부트 스트랩에 사용됩니다. 네트워크에서 사용할 ISP 제공 접두사가없는 경우 대신 fd00 :: / 8에서 고유 로컬 접 두부를 생성하십시오.

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


//, 글로벌 IPv6 인터넷에서 라우팅 가능한 IPV6 주소에 어떻게 액세스합니까?
Nathan Basanese

@NathanBasanese : ISP가 IPv6 서비스를 제공하거나 Hurricane Electric
Radu C

3
링크 로컬 주소는 네트워크 주소입니다. SSH에 사용하려면 계속하십시오. 이 질문과 John T의 답변에서 논의하는 것과 같은 합병증을 처리하는 방법 만 알아 두십시오. ULA (fd00 :: / 8)가 원하는대로 할당되지 않은 경우가 있습니다. 이 경우 링크 로컬 (fe80 :: / 16)을 사용하는 SSH가 효과적이었습니다. 라우팅을 처리해야하는 번거 로움 (인터페이스를 지정해야 함) 때문에 로컬 링크 만 피하지만 주소가 기술적으로 트래픽을 보내거나받을 수있는 능력이 적기 때문이 아닙니다.
TOOGAM

2

SSH IPv6을 연결하려면 대부분 컴퓨터에 IPv6 ISP 연결이 있어야합니다.

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

그리고이 명령은 처음으로 SSH 키를 확인하도록 요청합니다. 유형보다Y/Yes

참고 : 2205:f200:40:401::9ab4:8b43IPv6을 의미합니다. 이것은 IPv6의 유일한 예이므로 IPv6을 교체하는 것을 잊지 마십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.