반응형
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/
일반적인 오류와 해결 방법
- 퍼미션 문제:
"Bad permissions" 오류가 발생하면 개인 키 파일의 권한 설정을 확인해야 합니다. 아래 명령어로 권한을 수정할 수 있습니다:이 명령은 파일의 권한을 오직 파일 소유자만 읽을 수 있도록 설정합니다. chmod 400 ./my_key.pem
- host identification has changed:
"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" 메시지가 표시될 경우, 원격 서버의 호스트 키가 변경된 것입니다. 이 경우known_hosts
파일에서 해당 호스트를 삭제하고 다시 시도해야 합니다.파일에서 문제가 되는 줄을 찾아 삭제한 후, 다시 SCP 명령어를 실행합니다. vi ~/.ssh/known_hosts
- SSH 에이전트 문제:
SSH 에이전트에 개인 키가 로드되지 않았다면, 다음 명령어로 키를 추가해주어야 합니다: ssh-add ./my_key.pem
- SSH 포트 변경:
기본 SSH 포트(22)가 아닌 다른 포트를 사용하는 경우,-P
옵션을 통해 포트를 지정할 수 있습니다: scp -P 2222 -i ./my_key.pem file.txt user@remote.server.com:/home/user/
ssh 파일 전송하기/가져오기 (터미널 scp 명렁어로 파일 전송)
SCP는 강력한 파일 전송 도구로, SSH를 통해 보안을 유지합니다. 하지만 다양한 오류가 발생할 수 있으므로, 이 글에서 소개한 해결 방법을 참고하여 문제를 해결할 수 있습니다. SCP 사용 시 항상 개인 키의 권한을 확인하고, 호스트 정보 변경 시 known_hosts
파일을 적절히 관리하는 것이 중요합니다.
반응형