본문 바로가기
카테고리 없음

SCP 로컬 환경 원격 서버 파일 보내기

by 목포임장 2024. 10. 26.
반응형

SCP(Secure Copy Protocol)는 SSH(Secure Shell) 프로토콜을 기반으로 하는 파일 전송 방법으로, 로컬 환경에서 원격 서버로 파일을 안전하게 전송할 수 있습니다. 하지만 파일 전송 중 여러 가지 오류가 발생할 수 있습니다. 이번 글에서는 SCP 명령어 사용법과 SSH 인증키 관련 오류를 해결하는 방법에 대해 알아보겠습니다.

 

SCP 사용법

SCP를 사용하여 로컬 파일을 원격 서버로 전송하려면 다음과 같은 명령어를 사용합니다:

scp -i [private_key_file] [local_file_path] [username]@[remote_host]:[remote_file_path]
  • -i [private_key_file]: 사용하고자 하는 SSH 개인 키 파일을 지정합니다.
  • [local_file_path]: 로컬에서 전송할 파일의 경로입니다.
  • [username]@[remote_host]: 원격 서버의 사용자 이름과 호스트 주소입니다.
  • [remote_file_path]: 원격 서버에 저장할 경로입니다.

예를 들어, file.txt 파일을 전송할 경우 아래와 같이 입력할 수 있습니다:

scp -i ./my_key.pem file.txt user@remote.server.com:/home/user/

 

일반적인 오류와 해결 방법

  1. 퍼미션 문제:
    "Bad permissions" 오류가 발생하면 개인 키 파일의 권한 설정을 확인해야 합니다. 아래 명령어로 권한을 수정할 수 있습니다:이 명령은 파일의 권한을 오직 파일 소유자만 읽을 수 있도록 설정합니다.
  2. chmod 400 ./my_key.pem
  3. host identification has changed:
    "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" 메시지가 표시될 경우, 원격 서버의 호스트 키가 변경된 것입니다. 이 경우 known_hosts 파일에서 해당 호스트를 삭제하고 다시 시도해야 합니다.파일에서 문제가 되는 줄을 찾아 삭제한 후, 다시 SCP 명령어를 실행합니다.
  4. vi ~/.ssh/known_hosts
  5. SSH 에이전트 문제:
    SSH 에이전트에 개인 키가 로드되지 않았다면, 다음 명령어로 키를 추가해주어야 합니다:
  6. ssh-add ./my_key.pem
  7. SSH 포트 변경:
    기본 SSH 포트(22)가 아닌 다른 포트를 사용하는 경우, -P 옵션을 통해 포트를 지정할 수 있습니다:
  8. scp -P 2222 -i ./my_key.pem file.txt user@remote.server.com:/home/user/

ssh 파일 전송하기/가져오기 (터미널 scp 명렁어로 파일 전송)

 

ssh 파일 전송하기/가져오기 (터미널 scp 명렁어로 파일 전송)

ssh 파일 전송하기/가져오기

velog.io

 

SCP는 강력한 파일 전송 도구로, SSH를 통해 보안을 유지합니다. 하지만 다양한 오류가 발생할 수 있으므로, 이 글에서 소개한 해결 방법을 참고하여 문제를 해결할 수 있습니다. SCP 사용 시 항상 개인 키의 권한을 확인하고, 호스트 정보 변경 시 known_hosts 파일을 적절히 관리하는 것이 중요합니다.

반응형