ssh 원격 접속 프로토콜을 기반으로 한 SecureCopy(scp)의 약자로서, 원격지에 있는 파일과 디렉터리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜.
## 로컬에서 file 만들기
touch file.txt
scp 명령어는 다음과 같다
로컬 -> 원격
-i
: identity 파일 ,pem으로 인증시 필요한 옵션## 일반적인 상황 , file.txt - 옮길 파일
scp -i ./test240106.pem file.txt ubuntu@3.34.194.179:/home/ubuntu
성공하면 다음과 같이 100% 전송한 내역을 보여준다.
## 파일명으로 다르게 저장, file.txt -> file2.txt
scp -i ./test240106.pem file.txt ubuntu@3.34.194.179:/home/ubuntu/file2.txt
## 특정 포트로 전송(보류 , 안되고 있음...)
scp -P 8080 file.txt ubuntu@ec2-3-38-183-57.ap-northeast-2.compute.amazonaws.com:/home/ubuntu/file3.txt
## -r 옵션: recursive, directory 복사 & 전송, 전송할 디렉토리: folder, 도착할 directory: /home/ubuntu
scp -r -i ./test240106.pem folder ubuntu@3.34.194.179:/home/ubuntu
💥 public key 공개키 인증 설정을 미리 해두지 않으면 서버 전송이 안된다.
이 경우에는MobaXterm
으로 바로 파일 전송하는 것을 추천한다.
해결)
1) scp -i pem "~.pem" 을 추가해주면 된다.
오류2)
💥 *.pem are too open 어쩌구하며, bad permissions 오류가 나는 경우,
아래와 같이 하여 파일 주인(owner)만 읽을 수 있게하고(r-- --- ---) 모든 권한을 없애면 문제가 사라진다.
해결)
chmod 400 <your>.pem