Computer/Linux
[Linux] 로컬 및 서버간 파일 전송
goatlab
2024. 5. 17. 14:48
728x90
반응형
SMALL
scp
scp는 SecureCopy의 약자로, 원격 서버에 있는 파일과 폴더를 전송하거나 가져오기 위해 사용하는 명령어이다. ssh 원격 접속 프로토콜을 기반으로 하며, ssh와 동일한 22번 포트를 이용하기 때문에 password/identity file을 이용해 안전하게 송수신 할 수 있다.
로컬에서 AWS EC2 우분투 서버에 파일 전송
윈도우에서 리눅스 서버로 전송하는 경우, cmd 터미널에서 수행하며 파일 전송 방법은 다음과 같다.
scp -i C:\Users\{PC 계정}\Downloads\{키페어}.pem C:\Users\{PC 계정}\Downloads\{파일명} ubuntu@{퍼블릭 IPv4 주소}:~/
폴더를 전송하는 방법은 다음과 같다.
scp -ri C:\Users\{PC 계정}\Downloads\{키페어}.pem C:\Users\{PC 계정}\Downloads\{폴더명} ubuntu@{퍼블릭 IPv4 주소}:~/
wsl 터미널에서 전송이 완료되었는지 확인한다.
원격 서버에서 로컬 서버로 파일 전송
Windows 10 및 그 이후 버전에서는 OpenSSH가 기본적으로 포함되어 있어 SCP 사용 준비를 확인하면 된다. PowerShell을 열고 scp 명령을 입력하고, 만약 SCP가 설치되어 있지 않다면, 설정 → 앱 → 선택적 기능 → 기능 추가 → OpenSSH Client를 통해 설치할 수 있다.
그 다음, PowerShell에서 다음 명령어를 입력하여 SSH 키를 생성한다.
ssh-keygen -t rsa -b 2048
그 다음, 생성된 공개 키 (id_rsa.pub)를 원격 서버로 복사한다. 이를 위해 ssh-copy-id 명령을 사용한다.
Get-Content C:\Users\{PC 계정}\.ssh\id_rsa.pub | clip
원격 서버에 접속한 후, .ssh 디렉토리가 없으면 생성한다.
mkdir -p ~/.ssh
공개 키를 authorized_keys 파일에 추가한다.
echo "<클립보드의 공개 키 내용>" >> ~/.ssh/authorized_keys
마지막으로, 권한 설정한다.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
터미널에서 scp를 이용하여 원격 서버에 있는 파일을 로컬 서버로 전송한다.
scp -i C:\Users\{PC 계정}\.ssh\id_rsa ubuntu@{퍼블릭 IPv4 주소}:~/{전송할 파일명} {저장할 절대 경로}
원격 서버에서 로컬 서버로 파일이 전송된 것을 확인할 수 있다.
728x90
반응형
LIST