SSH에서 로컬 시스템으로 mv를 어떻게합니까?


129

나는 ssh내 웹 호스트의 디렉토리에 -ed하고, tar다운로드 할 수있는 웹 애플리케이션을 -ed. 내가하려고 할 때 mv~/mydirectory/backups/home/mydirectory/backups, 내가로 ssh'ed있어 웹 호스트에 내 루트로 "집"을 정의합니다.

웹 호스트 시스템 내부에있는 동안 ssh에서 로컬 드라이브로 어떻게 mv를 사용합니까?


어떤 OS에서 연결하고 있습니까?
Zoredache

답변:


181

가장 먼저해야 할 일 : ssh는 다른 컴퓨터에 원격으로 로그인하는 방법입니다. ssh 이후에 얻는 쉘 (명령 행)은 원격 컴퓨터에서 xterm을 연 것과 같습니다. 파일을 이동할 수있는 방법이없는 경우

그러나 원격 컴퓨터가 ssh 연결을 허용한다는 사실은 파일 교환 옵션을 제공합니다.

scp 사용 로컬 컴퓨터에서 원격 컴퓨터로 복사하려면 로컬 컴퓨터에 다음을 입력하십시오.

scp /tmp/file user@example.com:/home/name/dir

(여기서 / tmp / file은 로컬 파일로, / home / name / dir은 원격 디렉토리로 바꿀 수 있습니다)

원격 컴퓨터에서 로컬 컴퓨터로 복사하려면 로컬 컴퓨터에 다음을 입력하십시오 .

scp user@example.com:/home/name/dir/file /tmp

sshfs 사용 이것은 조금 더 발전되었지만 훨씬 더 훌륭합니다 (두 컴퓨터의 인터넷 연결 상태가 좋을 때. scp에 충실)

원격 컴퓨터에서 로컬 컴퓨터의 (빈) 디렉토리로 디렉토리를 "링크"할 수 있습니다. 원격 컴퓨터의 / some / remote / dir을 컴퓨터의 / home / youruser / remotecomp로 "링크"한다고 가정합니다. 원격 컴퓨터에 / some / remote / dir / file 파일이 있으면 / home / youruser / remotecomp / file에서 볼 수 있습니다. 평소와 같이 mv를 복사 할 수 있으며 원격 파일과 디렉토리를 변경할 수도 있습니다.

그러나 연결이 종료되면 / home / youruser / remotecomp는 다시 빈 디렉토리가되고 다른 디렉토리에 복사 한 파일 만 로컬 컴퓨터에 보관합니다.

이를 달성하려면 :

1) sshfs를 설치하십시오 :

sudo apt-get install sshfs

2) 빈 디렉토리 만들기

mkdir /home/youruser/remotecomp

3) 두 디렉토리를 "링크"(오른쪽 용어는 마운트)

sshfs user@server.com:/some/remote/dir /home/youruser/remotecomp

4) 즐기십시오

5) dirs를 "링크 해제"

fusermount -u /home/youruser/remotecomp

로컬 컴퓨터가 창을 실행하는 경우 창의 버전을 찾을 수 있습니다 scp. 예를 들어, winscp 참조


"원격 컴퓨터의 터미널"을 통해 원격 컴퓨터에서 로컬 컴퓨터로 파일을 복사하는 방법이 있습니까? 귀하의 경우 로컬 컴퓨터의 터미널을 사용했습니다. 로컬 컴퓨터가 Windows이고 원격이 우분투이고 ssh를 통해 원격 컴퓨터에 기록되는 상황에 대해 이야기하고 있습니다.
chandresh

보통은 아닙니다. 내가 아는 한, "원격 컴퓨터의 터미널"을 통해 복사한다는 것은 "로컬 컴퓨터"에 SSH 서버가 필요하다는 것을 의미합니다. 나는 의도적으로 답을 생략했지만 "원격 컴퓨터가 ssh 연결을 수락한다는 사실"은 ) "원격 컴퓨터가 SSH 서버를 실행하고 있다는 사실"을 대답
josinalvo

그러나 Windows 용 "scp client"를 찾을 수 있습니다. 예를 들어, winscp.net/eng/download.php
josinalvo

나는 sshfs옵션을 좋아한다
Fibo Kowalsky

큰 파일을 전송하는 경우 ssh를 통해 rsync를 사용하십시오 rsync -P -e ssh /tmp/file user@example.com:/home/name/dir. 파일 전송이 반쯤 실패 scp하면 파일을 삭제하기 때문입니다. 반면에 옵션 rsync과 함께 사용 -P하면 원격 시스템에서 불완전한 파일을 유지하고 전송을 다시 시작할 때 이미 원격 시스템에있는 파일이 로컬 시스템의 파일과 일치하는지 확인합니다. 그런 다음 전송이 중단 된 곳에서 계속하십시오.
Boris

16

scp또는을 사용할 수 있습니다 rsync. 로컬 시스템에서 :

scp remoteuser@remotehost:/remote/dir/file /local/dir/

그러나 백업을 언급 했으므로 증분 백업이라고 가정하고 가끔씩 백업해야합니다. 따라서 rsync증분 백업에는 더 나은 선택입니다. 로컬 쉘에서 :

rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/

참조 rsync(1)scp(1)옵션에 대한 매뉴얼 페이지를 참조하십시오.


10

scp secure copy를 사용할 수 있습니다 .

로컬 쉘에서 :

scp -C username@webhost:/path/of-the/tar.archive /home/mydirectory/backups/

이 예제는 ssh를 통해 웹 호스트의 /path/of-the/tar.archive에서 / home / mydirectory / backups /로 복사합니다.

추가 옵션 :

-C : 압축 가능


6

나는 같은 문제가 있었다. 쉬운 해결책은 다음과 같습니다.

  1. 노틸러스 열기 (파일 탐색기)
  2. + Other Locations왼쪽 패널 하단에서를 클릭하십시오 .
  3. 하단에는 스트립이 Connect to server있습니다. 입력 상자에 ssh 주소를 입력하십시오 (예 :) ssh://111.222.333.444/.
  4. 대화 상자가 열리면 사용자 이름과 비밀번호를 입력하십시오.
  5. 인증에 성공하면 home원격 위치에있게됩니다. 여기저기서 파일을 자유롭게 이동하십시오.

좋은 답변입니다! 실제 질문에 대한 대답에 간단하고 가장 가깝습니다. 예를 들어 ssh 원격 컴퓨터에서 어떻게 mv를 사용합니까? 답은 로컬 컴퓨터에서 할 수 없다는 것입니다. 아니면 이거! 최소한 사용자에게 파일을 원격에서 로컬로 직접 이동할 수있는 것처럼 보이도록 탐색기에서 그래픽으로 수행합니다.
Kvothe

2

다른 답변 추천 rsync또는 scp당신이 원격 시스템에 복사 할 파일의 위치를 알아 둘 필요의.

대신 원격 시스템에서 펑크를 할 수있게하려면 ssh을 실행하십시오 sftp. 서버에 로그인하는 것은와 매우 유사 ssh하지만 일단 들어가면 help명령 목록을 얻기 위해 입력 하십시오. 로컬 및 원격 시스템에서 자신을 이동하고 파일을 쉽게주고받을 수 있습니다.


1

내부에서 불가능하다는 것은 이상합니다 ssh. 일반 터미널에서는 zmodem 명령을 사용하여 파일을 보내거나받을 수 있습니다.

이것은 최대 구글하는 데 도움이 zssh: http://zssh.sourceforge.net/ . 하나는 원래 래퍼로 실행해야합니다 ssh.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.