이것은 SSH 터널링이 어떻게 작동하는지에 대한 오해일 수도 있지만, 그 내용은 다음과 같습니다:
내 ngirgd.conf
파일에는 다음이 있습니다.
Ports = 6669
Listen = 127.0.0.1
ngircd 서버가 실행 중입니다.호스트 A. 나는 다음을 사용하여 그것에 들어갔습니다.
웨인@호스트 B% ssh -N 웨인@호스트 A-L 6669:호스트 A:6669
비밀번호를 입력합니다. 그런 다음 irssi 내부호스트 B, 나는 다음을 원합니다:
/connect localhost 6669
나는 얻다
Looking up localhost
Connecting to localhost [127.0.0.1] port 6668
Connection to localhost established
Connection lost to localhost
터널을 시작하는 터미널 창 내에서 다음을 얻습니다.
channel 2: open failed: connect failed: Connection refused
HostB:6669
내가 이해한 바로는 SSH 터널은 에 연결되어야 하므로 HostA:6669
ngirgd의 경우 연결은 localhost/127.0.0.1에서 이루어집니다. 하지만 그렇지 않은 것 같습니다. 포트 80으로 전달하면 서버에 제대로 연결됩니다.
제가 뭔가 잘못 이해한 걸까요, 아니면 뭔가 잘못된 걸까요? 어떻게 해결할 수 있나요?
답변1
이것ssh
매뉴얼 페이지의 "TCP FORWARDING" 섹션에 사용 사례가 언급되어 있습니다..
차이점을 지적해 보세요. 이 시도:
ssh -L 6669:127.0.0.1:6669 hostB
IRC 데몬이 듣고 있습니다.127.0.0.1:6669
존재하다hostb
host:hostport
부분 -L port:host:hostpart
은연결된 서버에 따라. 그래서 (from ) hostb
로 구문 분석하지 않을 것 같아요 . 그렇죠? (그래서 귀하의 명령 은127.0.0.1
hostb
hostb:6669
데몬이 듣고 있지 않습니다..)