SSH를 통해 원격 호스트에 이미 연결되어 있는 경우 원격 호스트에서 연결 호스트로 파일을 다시 복사할 수 있습니까?

SSH를 통해 원격 호스트에 이미 연결되어 있는 경우 원격 호스트에서 연결 호스트로 파일을 다시 복사할 수 있습니까?

SSH를 통해 원격 호스트에 연결합니다. 원격 호스트에서 로컬 호스트로 무언가를 복사하려면 scp를 사용하여 복사할 수 있습니다.

그러나 이를 위해서는 원격 호스트에 있는 파일의 전체 경로를 입력해야 합니다. 나는 이미 SSH 연결의 파일 디렉토리에 있습니다. 원격 호스트에 현재 열려 있는 연결을 사용하여 연결 호스트(예: 내 로컬 컴퓨터)에 파일을 다시 복사할 수 있는 방법이 있습니까?

내가 찾은이것이미 답변했습니다. 그러나 이를 위해서는 연결 호스트에 라우팅 가능한 IP가 필요합니다. 나는 그것을 가지고 있지 않습니다.

답변1

원격 호스트에 현재 열려 있는 연결을 사용하여 연결 호스트(예: 내 로컬 컴퓨터)에 파일을 다시 복사할 수 있는 방법이 있습니까?

틀림없이! 하지만 우리는 직렬 회선 연결의 고대 세계를 더 깊이 탐구해야 합니다. 그 당시에는 사용자와 원격 컴퓨터 사이의 유일한 것은 구리선이었고 "IP 주소"는 (대부분의 사람들에게) 존재하지 않았습니다. 원격 호스트에 대한 일종의 대역 외 연결을 설정하는 옵션이 없었습니다.

그 당시 우리가 사용했던 많은 도구는 현대까지 살아남았고 직렬 연결이 유일한 옵션은 아니었기 때문에 그 과정에서 다양한 네트워킹 트릭을 습득했습니다. 그러나 다음을 포함한 나머지 기능 세트는 그대로 유지되었습니다. 인라인" 파일 전송 프로토콜(즉, 새 연결을 여는 대신 기존 연결에서 실행되는 전송 프로토콜)

귀하의 필요에 맞는 두 가지 솔루션은 다음과 같습니다. 두 경우 모두 소프트웨어를 로컬로 설치해야 합니다.그리고원격 호스트.

커밋 사용

  1. 설치하다커밋로컬 및 원격 호스트에서.

  2. kermit원격 호스트에 SSH 연결을 설정 하려면 다음을 수행하세요.

    kermit -EC 'ssh remotehost.example.com'
    
  3. kermit파일 전송을 시작하려면 원격 호스트에서 사용하십시오 .

    remotehost$ kermit -s somefile.txt
    
  4. 로컬 Kermit이 자동으로 수신 모드로 전환되어 파일을 수신하는 것을 지켜보세요. 로컬 현재 작업 디렉터리에 표시되는 것을 볼 수 있습니다.

screen+lrzsz 사용

당신은 다음과 같은 것을 사용할 수 있습니다화면그리고루오즈샹다음을 포함하는 패키지모뎀구현하다.

  1. 로컬로 설치합니다 screen.

  2. lrzsz로컬 및 원격 호스트에 설치합니다.

  3. ~/.screenrc다음을 포함하도록 콘텐츠를 편집하세요 .

    zmodem catch
    
  4. screen세션을 시작하고 원격 호스트에 연결합니다.

    screen -e '' ssh remotehost.example.com
    
  5. sz파일을 전송하려면 다음 명령을 사용하십시오 .

    remotehost$ sz somefile.txt
    

    rz그러면 화면 하단에 명령이 표시됩니다 <return>. 해당 명령을 누르기만 하면 됩니다.

  6. 로컬 시스템으로의 파일 전송을 지켜보세요. 이전과 마찬가지로 로컬 현재 작업 디렉터리에서 파일을 찾을 수 있습니다.

zssh + lrzsz 사용

바아바Zmodem 이스케이프를 이해하는 SSH 래퍼입니다. 프로세스는 이전 섹션과 거의 동일해 보이지만 zssh화면 대신 다음을 사용합니다.

  1. lrzsz로컬 및 원격 호스트에 설치합니다.

  2. 원격 호스트에 연결합니다.

    localhost$ zssh remotehost
    
  3. 파일 전송 시작:

    remotehost$ sz somefile.txt
    
  4. CTRL-SPACE파일 전송 모드로 들어가려면 을 입력 하고 rz(다음에 <return>)을 입력하세요.


저는 Fedora 36에서 실행 중이며 여기에 언급된 모든 것(kermit, screen, lrzsz, zssh)은 "위의 모든 것"을 얻을 수 있는 패키지로 제공됩니다.

sudo yum install screen ckermit zssh lrzsz

다른 배포판에서는 수동으로 설치해야 할 수도 있습니다.

관련 정보