3 대의 PC가 있습니다.
C가 B를 통과하는 A에 도달 할 수 있도록 A에서 B 로의 역 ssh 터널을 만들고 싶습니다. 몇 가지 가이드를 읽고 절차를 따랐지만 뭔가 잘못하고 있습니다.
나는 한 일을 요약하려고 노력합니다.
A에서 수행
ssh -Nfg -R 2210:localhost:22 userB@B
B에서 B에서 A에 도달 할 수 있습니다.
ssh -p 2210 userA@localhost
CI에서 A에 도달하려면 C에서 할 수 있습니다.
ssh userB@B
ssh -p 2210 userA@localhost
지금까지 모든 것이 훌륭해 보입니다. 이제 C에서 A로 직접 연결하고 싶습니다. 이것은 게으름이 아니지만 C에서 A로 FileZilla를 사용하는 데 필요하다고 생각합니다.
1 단계로 돌아가서 A :
ssh -Nfg -R :2210:localhost:22 userB@B
(2210 이전의 ":"참고)
나는 또한 끝에 추가하는 B의 / etc / ssh / sshd_config 파일을 편집했습니다.
GatewayPorts yes
하지만 C에서
ssh -p 2210 userA@B
시간 초과 오류를 반환합니다.
내가 어디서 잘못 했어?
감사합니다
추신 : 터널을 열고 FileZilla가 C에서 A로 연결하도록 허용하는 또 다른 방법도 괜찮습니다.
UbuntuForum의 Lars Noodén 덕분에 해결 되었습니다.
나는 미래 독자를위한 해결책을보고한다 :
A의 포트 22에서 B의 포트 2210으로 역방향 터널을 만들었습니다. C의 포트 (예 : 2212)에서 B의 포트 2210으로 일반 터널을 추가합니다.
ssh -L 2212:localhost:2210 userB@hostB
그런 다음 C에서 FileZIlla 또는 다른 SFTP 클라이언트를 localhost의 포트 2212에서 가리킬 수 있으며 A에 연결됩니다.
이 솔루션을 사용하면 ssh -p 2212 userA@localhost
C에서 C에서 A에 직접 연결할 수 있습니다. 또한 터널을 허용하지 않는 C에서 A로 연결하는 데 필요한 모든 서비스에 대해 localhost의 포트 2212를 사용할 수 있습니다 (예 : Filezilla).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다