SSH를 사용하여 원격에서 로컬로 파일을 전송하는 방법

SSH를 사용하여 원격에서 로컬로 파일을 전송하는 방법

원격 컴퓨터(Linux)에서 로컬 컴퓨터(Mac)로 디렉터리를 전송하는 데 사용할 수 있는 터미널 명령은 무엇입니까?가장 중요한 점은 원격 시스템에 SSH를 연결하는 동안 명령줄에서 이 작업을 수행하고 싶다는 것입니다.로컬 컴퓨터 명령줄에서 SCP를 사용하는 방법을 알고 있지만 원격 컴퓨터에서 SCP를 어떻게 사용하는지(또는 로컬 경로가 무엇인지)는 모릅니다.

답변1

sshd아직 이 작업을 수행하지 않은 경우 로컬 컴퓨터에서 시작하십시오 . 그런 다음두번째로컬 컴퓨터에서 원격 컴퓨터로의 세션:

ssh -R 2222:127.0.0.1:22 user@remote

그러면 원격 포트 2222가 sshd로컬 컴퓨터의 127.0.0.1 수신 대기 포트로 전달되어 reverse tunnel. 그런 다음 scp원격 컴퓨터에서 실행합니다 .

scp -P2222 file 127.0.0.1:/path/

답변2

반대로 원격 시스템에서 로컬 시스템으로 파일을 가져올 수도 있습니다.

ssh -L 2222:[email protected]:22 [email protected] -N &
scp -P 2222 127.0.0.1:/path/to/file/on/remote/machine.diff /tmp

ssh 명령은 localhost:2222에서 네트워크 연결 서버인 remoteserver.com 뒤에 있는 원격 시스템 192.168.1.37까지의 터널을 설정합니다. 두 번째 명령을 사용하면 로컬로 복사할 수 있습니다.

일부여기에 좋은 예와 팁이 있습니다, 그리고 이를 자동화하기 위해 ~/.ssh/config에서 구성하는 방법을 설명합니다.

답변3

개인 IP 주소를 제공하는 라우터/방화벽 뒤에 로컬로 있는 경우 로컬 포트 ​​22에 매핑할 포트를 NAT하도록 라우터를 구성해야 합니다. 그런 다음 주소 지정을 통해 원격 컴퓨터에서 해당 포트에 액세스할 수 있습니다. 당신의공용 IP 주소어떤 포트를 선택하든(포트 22를 직접 매핑할 수 있지만 일반적으로 표준 서버 포트는 악성 코드가 침입하는 일반적인 대상이므로 이를 피하는 것이 좋습니다.)

관련 정보