SSH를 사용하여 서버에서 파일을 다운로드하는 방법은 무엇입니까? [닫은]


749

서버에서 데스크탑으로 파일을 다운로드해야합니다. (UBUNTU 10.04) 서버에 대한 웹 액세스 권한이 없으며 ssh 만 있습니다.

도움이된다면 내 OS는 터미널로 Mac OS X 및 iTerm 2입니다.


이 sftp를 사용해보십시오 : winscp.net/eng/download.php
Nishchit Dhanani

51
왜 이것이 주제가 아닌가?
jsmedmar

4
프로그래밍 질문이 아니기 때문에
Black

26
@EdwardBlack 대신 unix.stackexchange로 마이그레이션 한 수
gldraphael

3
이것은 나를 위해 일했다sudo scp -i ~/.ssh/id_rsa username@remotehost.io:Downloads/filename.sql ~/Desktop
kaxi1993

답변:


1166

터미널에 다음을 입력하십시오.

scp your_username@remotehost.edu:foobar.txt /local/dir

사용자 이름, 호스트, 원격 파일 이름 및 로컬 디렉토리를 적절하게 바꿉니다.

EC2 (또는 개인 키로 인증해야하는 다른 서비스)에 액세스하려면 다음 -i옵션을 사용하십시오 .

scp -i key_file.pem your_username@remotehost.edu:/remote/dir/foobar.txt /local/dir

보낸 사람 : http://www.hypexr.org/linux_scp_help.php


3
Amazon EC2에 익숙하지 않지만 서버에 대한 SSH 액세스 권한이 있으면 작동합니다.
Josh1billion

3
위의 예 와 /사이 에 누락이 있다고 생각합니다 . your_username@remotehost.edu:foobar.txt
유진 S

13
@NiLL scp -i xxx.pem your_username@remotehost.edu : foobar.txt / some / local / directory
Helin Wang

3
@Alex는 -r 옵션을 추가하십시오.
SgtPooki

10
유용한 정보-다운로드하려는 위치가 아니라 로컬 컴퓨터에서이 정보를 실행한다는 것을 알지 못했습니다. Horak이 묻는 것처럼 ~ /는 / Users / admin /과 같은 사용자 디렉토리에 덤프합니다. ssh에 원격으로 로그인하여 왜 작동하지 않는지 궁금했습니다.
Kai Qing

322

scp명령 으로이 작업을 수행 할 수 있습니다 . scpSSH 프로토콜을 사용하여의 구문을 확장하여 시스템에서 파일을 복사합니다 cp.

다른 시스템에서이 시스템으로 무언가를 복사하십시오.

scp username@hostname:/path/to/remote/file /path/to/local/file

이 시스템에서 다른 시스템으로 무언가를 복사하십시오.

scp /path/to/local/file username@hostname:/path/to/remote/file          

일부 시스템에서 다른 시스템으로 무언가를 복사하십시오.

scp username1@hostname1:/path/to/file username2@hostname2:/path/to/other/file   

5
나는 OP 질문을 얻고 싶었고 대답을 완전히 읽지 않았다면 우연히 생각하지 않고 단순히 첫 번째 명령을 실행하고 원격 파일을 덮어 쓰려고했던 로컬 파일로 덮어 쓰려고하는 방법을 좋아합니다. 죄송합니다.
Mr Purple

액세스 권한이있는 이유는 무엇입니까? 누군가 생각없이 "rm -rf /"를 수행 할 수 있지만 rm 명령의 유틸리티가 줄어들지는 않습니다.
raj_gt1

1
"Linux를 어떻게 업그레이드해야합니까?"에 대한 답변을 시작한다고 생각하십니까? "rm -rf /"명령을 사용하는 것도 좋은 생각입니까?
Mr Purple

2
@MrPurple-경고 주셔서 감사합니다, 나는 거의 정확히 그랬습니다. 가장 관련성이 높은 명령을 먼저 표시하도록 질문을 편집했습니다
Sphinxxx

96

scp는 확실히가는 길이지만, 완전성을 위해 다음을 수행 할 수도 있습니다.

$ ssh host 'cat /path/on/remote' > /path/on/local

또는

$ cat /path/on/local | ssh host 'cat > /path/on/remote'

이것은 UUOC이지만 < /path/on/local ssh host 'cat > /path'불필요한 혼란을 초래할 수 있습니다.

그리고 두 호스트 사이의 프록시 :

$ ssh host1 'cat /path/on/host1' | ssh host2 'cat > /path/on/host2'


5
다른 방법으로 속도 테스트를 한 사람이 있습니까? 어느 것이 가장 빠른지 궁금합니다. 유스 케이스 : 다운로드 할 거대한 파일이 있습니다.
starbeamrainbowlabs

이것은 실제로 .ssh / config와 작동하지만 scp는 ssh 구성을 따르지 않는 것 같습니다

13

SSH 서버가 SFTP 서브 시스템 (SSH의 일부이며 FTP 와 관련 이 없음)을 지원하는 경우 sftp를 사용하십시오. 그렇지 않으면 scp를 시도하십시오.

CyberDuck 은 이들 모두를 지원합니다.


2
그들의 웹 사이트, cyberduck.ch/Cyberduck-4.2.1.zip
J-16 SDiZ

소프트웨어를 무료로 변경 한 것으로 보이지만 원하는만큼 기부 할 수 있으며 프로그램 내에서 "기부 프롬프트"를 제거 할 수 있습니다.
Mike

12
이것은 질문에 대답하지 않습니다.
edwinj

1
Cyberduck의 SFTP를 사용하여 쉽게 다운로드 할 수 있습니다.
Miguel Stevens

FileZilla는 저에게 훌륭하게 작동하며 무료이며 오픈 소스입니다 (Firefox를 만드는 동일한 사람들이 만들었습니다). Cygwin도 마찬가지입니다.
hanshenrik
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.