리버스 SSH 터널을 사용하여 우분투 서버에서 Windows 공유에 연결


1

이 퍼즐 조각이 없어 누군가 나를 도울 수 있기를 바랍니다.

설정 : Windows O / S가 설치된 내 컴퓨터는 작업중인 NAT / 방화벽 뒤에 있으며 전달할 포트를 열 수 없습니다. 집에는 우분투 서버가 있습니다. 직장의 Windows 컴퓨터에서 집의 Ubuntu 서버에 연결하기 위해 ssh 클라이언트 (퍼티)를 사용할 수 있습니다. 퍼티에서 포트 포워드를 사용하여 smb를 통해 집의 Ubuntu 서버의 네트워크 공유에 연결된 Windows 컴퓨터에서 네트워크 공유를 만들었습니다.

문제 : 리버스 SSH 터널 연결을 사용하여 위에서 설명한 smb 공유를 되돌리고 싶습니다.

의미 : SMB 포트 (445)가있는 Reverse SSH를 사용하여 Ubuntu Server에서 Windows 공유 (NAT 뒤)에 연결하고 마운트하십시오.

질문 :

퍼티에서 리버스 SSH 터널을 어떻게 설정합니까? (다시 리버스 SSH를 이해합니다). 현재 Putty의 터널링 옵션에서 포트 445를 소스로, localhost : 445를 대상으로, REMOTE & IPV4 옵션을 선택했습니다. 이 올바른지?

SMB에 올바른 역방향 SSH 터널 설정을 얻은 후 Ubuntu 서버에서 NAT 뒤에있는 Windows 공유를 어떻게 연결하고 마운트합니까? Ubuntu 서버가 동일한 네트워크에서 Windows 컴퓨터와 공유를 마운트하는 경우와 같은 방법? sudo mount -t cifs // IPADRESS / WinShare / mnt / UbuntuShare -o username = "사용자 이름", 도메인 =

질문이 있으시면 알려 주시면 최대한 빨리 연락 드리겠습니다!

고마워, 벤

...


누가 수출하고 누가 장착하고 있습니까? "보낸 사람"의 사용이 혼동됩니다. Windows가 smb 또는 Ubuntu를 통해 내보내 집니까?
— terdon

우분투 서버에서 Windows 공유를 어떻게 마운트합니까? Window 공유가 다른 네트워크에 있으며이 Windows 공유를 호스팅하는 네트워크의 포트를 열 수 없습니다. 내가 틀렸다면 나를 수정하지만 우분투 서버의 Windows 공유에 액세스하기 위해 Windows 시스템에서 퍼티를 통해 역방향 SSH 터널을 설정하고 포트 포워드를 설정합니다.
— Benjamin Jones

자,이 양식의 도움 없이는 조금 더 가까워지고 있습니다. 우분투 서버에서 다른 네트워크의 방화벽 뒤에있는 Windows 랩톱 웹 서버를 볼 수 있도록 성공적인 역방향 ssh 터널을 설정했습니다. 퍼티 포트 포워드 소스 : 9090 대상 로컬 호스트 : 80을 선택하고 원격 / 자동 옵션을 클릭했는지 확인하십시오. 퍼티 (Windows 랩톱)에서 리버스 터널이 설정되면 Ubuntu 시스템에서 wget localhost : 9090을 사용해보십시오. 파일이 전송되면 우분투 서버의 방화벽 뒤에있는 Windows 랩톱으로 역방향 ssh가 작동합니다
— Benjamin Jones

잘 알아 냈어요! 다른 사람들이 혜택을 볼 수 있도록 솔루션을 답변으로 게시 해 주시겠습니까?
— terdon

이제 리버스 SSH가 작동한다는 것을 알았으므로 Ubuntu 서버에서 액세스 할 수없는 방화벽 뒤의 Windows 랩톱에있는 Windows 공유에 어떻게 접근합니까? Windows machince에서 퍼티를 설정하여 소스 4445 대상 localhost : 445를 포트 포워드하기 위해 원격 버튼을 클릭했습니다. 그런 다음 내 우분투 서버 (퍼티 세션에서 연결됨)의 명령을 사용하십시오. smbclient -L // localhost -p 4445 -U "사용자 이름"은 역방향 ssh Windows 공유를 나열합니다. 실패한! 오류 : 읽기 오류 = NT_STATUS_END_OF_FILE 이게 무슨 뜻인지 잘 모르겠어?
— Benjamin Jones

답변:


1

내 자신의 질문에 대한 답을 찾았습니다. 이렇게하면 "SSH Reverse를 사용하여 공유에 연결하는 방법"이라는 질문이 해결됩니다. SSH Reverse가 무엇인지 모르는 경우이 솔루션을 무시하십시오!

내 설정 : 컴퓨터 A = 집에서 SSH 서버를 실행하는 Ubuntu 서버. (차이 네트워크)

컴퓨터 B = 업무용 방화벽 뒤의 Windows 데스크톱 (포트를 열 수 없음) (차이 네트워크)

내가 말했듯이 컴퓨터 B의 포트를 열 수 없으며 컴퓨터 B 에 공유를 안전하게 설치할 수 있으려면 컴퓨터 A 가 필요 합니다 .

이 의미 : 사이에 파일을 공유하려면 A 컴퓨터 및 컴퓨터 B 나는 앞으로 때문에에게의 포트 포트를 사용하여 FTP, SFTP, 또는 SSH를 사용할 수없는 컴퓨터 B가 열려 있지!

그러나 이것에 대한 해결책이 있습니다! SSH 리버스라고합니다. 나는 이것에 대해 멀리 가지 않을 것이지만 내 설정을 위해 컴퓨터 A 에는 SSH 서버가 실행되고 컴퓨터 B 에는 클라이언트 (퍼티 / plink와 같은)가 있습니다. 목표로 기억하십시오와 파일 공유하는 컴퓨터 B 에서 A 컴퓨터를 이 시나리오 당신 MUST 당신 SSH 반대로 있도록.

당신이 당신의 SSH 서버와 연결 / 통신 할 수 있는지 확인 그래서 1 A 컴퓨터 에 클라이언트 (나는 퍼티를 사용하고 있습니다)와 컴퓨터 B . 공장? 큰 움직임 ...

이제 저장된 연결을 선택하고 터널 옵션으로 이동하여 컴퓨터 B의 퍼티에 리버스 포트 포워드를 설정해야합니다. 다음으로 "새 포트 추가"가 필요합니다.

소스 포트는 열려있는 포트 일 수 있습니다. 확실하지 않은 경우 : 5454. 대상은 localhost : 445 여야합니다. 참고 : 대상은 localhost 일 필요는 없습니다. 사실 localhost는 "Host Down"으로 출력 될 수 있습니다. 네트워크의 모든 IP 일 수 있습니다. 예 192.168.1.1:445 (자신의 IP)

원격 버튼과 자동 버튼이 선택되어 있는지 확인하십시오. 그런 다음 추가를 클릭하고 해당 연결을 열기 전에 해당 연결에 대한 설정을 저장하십시오. 이제 SSH 서버 (컴퓨터 A)에 연결하십시오 .

이제 마운트 폴더 (마운트 공유가 표시 될 폴더)를 만드는 것을 잊지 마십시오.

지금 당신은 당신의 공유를 마운트 할 수 있어야 컴퓨터 B 에 컴퓨터 A 밖으로 어떤 포트를 여는 함께.

마운트 코드 예 :

sudo mount -t cifs //localhost/sambashare /mountpoint -o port=5454,username="",password="",domain="optional"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.