본문 바로가기
프로그래밍/기타

[Linux, Ubuntu] SCP를 이용하여 원격지로 네트워크로 파일 전송, 다운로드 하기

by GhostWeb 2021. 5. 10.
반응형

○ SCP를 이용하여 파일 전송하기

- 보낼 대상에 사용자 계정의 암호가 있을 경우 계정의 암호를 물어보고 인증에 성공해야 파일을 정상적으로 전송합니다.

- 처음 접속하는 대상이라면 신뢰하는 목록에 등록하겠냐고 물어보기도 합니다.

 

scp [보낼 파일] [보낼 대상의 사용자 계정의 ID]@[보낼 대상의 IP]:[전송 받을 위치]

 

예) 전송 진행율, 속도, 시간 등을 보여줌

$ scp test.mp4 root@192.168.1.10:/usr/.
test.mp4                                 100%   60MB   6.6MB/s   00:09

 

예) 접속이 끊긴 경우 (네트워크 단절)

$ scp test.mp4 root@192.168.1.10:/usr/.
ssh: connect to host 192.168.1.10 port 22: No route to host
lost connection

 

예) 디렉토리(폴더)를 전송할 경우 (-r 옵션 사용)

scp -r testDir root@192.168.1.10:/usr/testDir

 

예) 원격 대상에 있는 파일을 가져오기

scp [옵션] [접속 대상의 계정]@[접속 대상의 IP]:[접속 대상에서 가져올 파일] [저장할 위치]

scp root@192.168.1.10:/usr/test.mp4 /usr/.

 

- SCP 사용 방법

ubuntu@ubuntu-VirtualBox:~$ scp /h
usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]
            [-J destination] [-l limit] [-o ssh_option] [-P port]
            [-S program] source ... target

○ SCP 전송 시 원격지의 암호를 물어보지 않게 하는 방법

- SCP 전송 시 명령어를 입력 실행하면 암호를 입력하게 되는데 이를 sshpass를 이용하여 명령어에 암호를 같이 입력하여 명령어 입력으로만 파일 전송이 가능해요.

 

- SSH도 sshpass를 이용하여 똑같이 사용할 수 있어요.

 

- sshpass가 패키지가 설치되어 있어야 함으로, 없으신 분은 아래의 명령어를 입력하여 설치하세요.

 

- sshpass 설치 방법

sudo apt-get install sshpass

 

- 사용 방법

sshpass -p [원격지 접속 계정의 암호] scp test.mp4 root@192.168.1.10:/usr/.

 

- sshpass를 이용한 파일 전송

sshpass -p root scp test.mp4 root@192.168.1.10:/usr/.

 

- sshpass 사용 방법

ubuntu@ubuntu-VirtualBox:~$ sshpass -h
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
   -f filename   Take password to use from file
   -d number     Use number as file descriptor for getting password
   -p password   Provide password as argument (security unwise)
   -e            Password is passed as env-var "SSHPASS"
   With no parameters - password will be taken from stdin

   -P prompt     Which string should sshpass search for to detect a password prompt
   -v            Be verbose about what you're doing
   -h            Show help (this screen)
   -V            Print version information
At most one of -f, -d, -p or -e should be used
반응형