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.