SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법

파일을 원격 Linux 서버로 전송할 때 몇 가지 옵션이 있습니다. 가장 좋은 방법 중 하나는 SSH를 통해 실행되는 SCP(Secure Copy)라는 프로그램을 사용하여 네트워크를 통해 파일을 원격 시스템으로 빠르게 전송하는 것입니다. 이 튜토리얼은 SCP를 사용하여 Linux에서 안전하게 파일을 전송하는 방법을 보여줍니다.

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

SSH 구성

원격 서버에서 SSH 서버를 설치해야 합니다. Linux에서 가장 인기 있는 것은 OpenSSH 서버입니다. 설치하려면 다음 명령 중 하나를 실행하십시오.

# Debian/Ubuntu 기반 서버 sudo apt install ssh # Fedora sudo dnf install openssh

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

배포판에 따라 일부 소프트웨어 방화벽을 통해 SSH를 허용해야 할 수도 있습니다. 우분투에서는 이 문제가 존재하지 않지만 페도라 또한 다음 명령을 실행해야 합니다.

sudo 방화벽-cmd --add-service=ssh --영구 sudo 방화벽-cmd --reload

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

SSH를 통해 시스템에 연결

SSH를 통해 연결하기 전에 원격 서버의 IP 주소를 알아야 합니다. 그래픽 서버에서 IP 주소는 시스템 설정의 네트워크 애플릿에 나타납니다. 대부분의 서버에서는 터미널에서 ip 명령을 사용해야 합니다.

IP 주소

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

출력에서 다음으로 시작하는 줄을 찾습니다. inet 이내에 ethX أو enpXsy , 네트워크 인터페이스가 시스템에 연결되는 방식에 따라 다릅니다. 제 경우에는 192.168.68.108.

테스트 SSH 연결 , 장치로 이동 Linux 다르고 유형:

변화 "사용자" 나에게 호스트의 이름 실제 서버.

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

입력하다 비밀번호 이 계정과 당신은 일합니다. 에 대한 질문을 받으면 "호스트의 진위 여부는 증명할 수 없습니다." 로 대답하면 됩니다. "네". 사기가 아닌 실제 서버에 연결되어 있는지 확인하도록 설계된 보안 검사입니다. 서버에 직접 로그인할 때 표시되는 것과 동일한 프롬프트가 클라이언트 시스템에 표시되어야 합니다. 이는 연결에 성공했음을 의미합니다. 또한 최대 보안을 위해 SSH 연결을 구성해야 합니다. 이중 인증 설정 , 다음 단계로 진행하기 전에.

SCP를 사용하여 파일 전송

이제 SSH 연결을 테스트했으므로 두 장치 간에 파일 복사를 시작합니다. 보안 복사는 scp 명령을 사용하여 수행됩니다. scp 명령의 기본 형식은 다음과 같습니다.

scp /PATH/TO/FILE USER@IP-ADDRESS:PATH/TO/원하는/목적지

예를 들어 파일을 복사하려면 "backup.tar.gz" 로컬 컴퓨터에서 폴더로 "backup.tar.gz" 사용자의 홈 디렉토리에서 "램세스" 주소가 있는 원격 서버에서 IP 192.168.68.165 , 사용하다:

SCP 백업.tar.gz [이메일 보호]:~/백업/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

ssh를 사용하여 연결할 때와 유사하게 비밀번호를 묻는 메시지가 표시됩니다. 명령에 지정된 대로 사용자 이름을 묻는 메시지가 표시되지 않습니다.

또한 읽기:  사용자 지정 Linux 배포판을 쉽게 만드는 5가지 도구

다음과 같은 와일드카드를 사용할 수도 있습니다.

scp *.tar.gz [이메일 보호]:~/백업/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

원격 서버에서 로컬 시스템으로 파일을 복사하려면 매개변수를 반대로 바꾸면 됩니다.

scp [이메일 보호]:~/backups/backup.tar.gz ./

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

끝 부분에 요점이 있습니까? 그 뜻은 "현재 폴더" , 와 같은 cp 표준 명령 أو 등등 원하는 경우 다른 디렉터리를 쉽게 선택할 수 있습니다.

scp -r [이메일 보호]:~/백업/서버에서 백업/

와일드 카드도 마찬가지입니다.

scp [이메일 보호]:~/backups/*.txz ./

디렉터리를 원격 서버에 재귀적으로 복사하려면 다음을 사용하십시오. 옵션 -r:

scp -r 백업/ [이메일 보호]:~/백업/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

원격 서버에서 로컬 시스템으로 디렉토리의 사본을 복사하려면 다음을 사용하십시오.

scp -r [이메일 보호]:~/백업/ ./

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

SCP의 파일 전송 압축

기본 복사 외에도 이러한 파일 전송 중에 SCP의 동작을 수정하는 것도 가능합니다. 예를 들어 태그를 사용할 수 있습니다. -C SCP가 원격 클라이언트에 보내는 데이터를 압축하려면:

scp -C backup.tar.gz [이메일 보호]:/홈/램세스/

이 옵션은 SCP를 통해 전송되는 각 데이터 패킷을 압축하여 작동합니다. 따라서 이것은 대역폭이 제한된 연결에 있고 파일을 원격 서버로 안정적으로 보내려는 경우 매우 유용할 수 있습니다.

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

위의 옵션과 유사하게 다음을 사용할 수도 있습니다. -C 태그와 함께 -r 파일을 압축하고 재귀적으로 원격 시스템으로 전송합니다. 예를 들어 다음 명령은 파일을 압축하고 복구합니다. "backup.tar.gz" 내 원격 서버에서:

scp-Cr [이메일 보호]:/홈/램세스/백업 /홈/램세스/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

SCP로 데이터 전송 최적화

대부분의 경우 SCP는 다음을 사용하려고 합니다. 암호화 알고리즘 AES-128 모든 파일 전송을 위해. 그러나 이 특정 알고리즘이 전송하려는 파일에 적합하지 않은 경우가 있습니다.

이를 알면 특정 전송에 대한 암호화 알고리즘을 직접 변경하여 SCP를 더욱 개선하고 보안을 유지할 수 있습니다. 이렇게 하려면 태그를 사용해야 합니다. -c 사용하려는 코드가 뒤따릅니다.

예를 들어 다음 명령은 파일을 이동합니다. "backup.tar.gz" 사용하여 내 원격 서버에 AES-256:

scp -c aes256-ctr ./backup.tar.gz [이메일 보호]:/홈/램세스/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

또한 옵션을 제공합니다. -c 또한 특정 파일을 전송하는 데 사용할 암호 목록을 제공하십시오. 예를 들어 다음 명령은 둘 다 사용합니다. AES-192 و AES-256 파일을 전송하는 동안 "backup.tar.gz" 내 원격 서버에:

scp -c aes192-ctr, aes256-ctr ./backup.tar.gz [이메일 보호]:/홈/램세스/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

SCP의 대역폭 사용량 제한

파일 패킷 압축은 열악한 네트워크 조건에서 SCP를 사용하는 데 도움이 될 수 있지만 프로그램이 전송 중에 사용하는 대역폭을 제한할 수도 있습니다. 이것은 제한된 연결을 사용하고 있고 SCP가 네트워크 대역폭을 차지하지 않기를 원하는 경우에 유용합니다.

또한 읽기:  아치 리눅스에서 AUR을 사용하는 방법

프로그램의 유효 대역폭을 제한하려면 다음을 사용해야 합니다. 태그 -l 원하는 최대 금액 다음에 초당 킬로비트(Kb/s). 예를 들어 다음 명령을 실행하면 파일이 이동합니다. "backup.tar.gz" 유효 대역폭이 1600Kb/s인 내 원격 서버에:

scp -l 1600 ./backup.tar.gz [이메일 보호]:/홈/램세스/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

SCP와 텔레투텔레

로컬 파일을 원격 서버로 또는 그 반대로 복사하는 것 외에도 SCP를 사용하여 로컬 시스템에서 여러 원격 서버를 관리할 수 있습니다. SCP는 파일 전송만 처리하고 로컬 시스템과 원격 시스템을 구분하지 않기 때문입니다.

두 원격 서버 간에 전송하려면 이러한 각 시스템의 사용자 이름과 주소를 명시적으로 지정해야 합니다. 예를 들어 다음 명령을 실행하면 파일이 이동합니다. "원격 백업.tar.gz" 두 개의 원격 서버 간 마이닝:

scp [이메일 보호]:/home/ramces/remote-backup.tar.gz [이메일 보호]:/홈/램세스/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

SCP와 함께 프록시 사용

기본적으로 SCP는 서로 다른 두 호스트 간에 파일을 전송할 때 로컬 시스템의 IP 주소를 사용합니다. 이것은 정상적인 상황에서는 완벽하게 괜찮지만 로컬 네트워크가 SCP 활동을 제한하는 경우 문제가 될 수 있습니다. 이 문제를 처리하는 한 가지 빠른 방법은 SSH 프록시를 통해 로컬 연결을 전달하는 것입니다.

이렇게 하려면 태그를 사용해야 합니다. -o 다음 옵션 프록시 명령. 이렇게 하면 SCP 명령을 차례로 실행할 새 장치에 대한 기본 SSH 연결을 만들 수 있습니다. 예를 들어 다음을 실행하면 원격 시스템에 새 SSH 에이전트가 생성되고 파일이 전송됩니다. "backup.tar.gz" 그것을 사용하여:

scp -o "ProxyCommand ssh [이메일 보호] nc %h %p" ./backup.tar.gz [이메일 보호]:/홈/램세스/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

SCP의 기본 포트 변경

기본 SSH 프록시를 만드는 것 외에도 SCP의 기본 포트를 변경할 수도 있습니다. 이는 Linux 서버를 보호하고 가상 포트를 노출하지 않으려는 경우에 특히 유용합니다.

또한 읽기:  Ubuntu를 macOS Big Sur처럼 보이게 하는 방법

다른 포트로 SCP를 사용하려면 플래그를 사용해야 합니다. -P 사용하려는 포트 번호가 뒤따릅니다. 예를 들어 다음 명령은 디렉토리를 복사합니다. "지원" 재귀적으로 포트를 사용하여 원격 서버에 연결 2222 :

scp -r -P 2222 ./백업 [이메일 보호]:/홈/램세스/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

SCP 조용 모드 사용

마지막으로 SCP 명령에서 터미널 출력을 완전히 제거하는 것도 가능합니다. 이는 터미널에서 실행되는 비대화식 스크립트를 생성하려는 경우에 특히 유용합니다. 뿐만 아니라 다음을 생성하여 이 프로세스를 완전히 자동화할 수도 있습니다. cronjob 그리고 전송 SSH 키 귀하의 서버에 개인.

조용한 SCP 전송을 생성하려면 플래그를 사용해야 합니다. -q. 예를 들어 다음 명령은 파일을 이동합니다. "backup.tar.gz" 내 원격 서버에 자동으로:

scp -q ./backup.tar.gz [이메일 보호]:/홈/램세스/

SCP를 사용하여 Linux에서 파일을 안전하게 전송하는 방법 - %categories

자주 묻는 질문

Q1. 원격 텔레포트가 SCP에서 작동하지 않습니다. 이 문제를 어떻게 해결합니까?
답변. 이 문제는 원격 시스템의 구성 파일 중 하나에서 차단된 포트로 인해 발생했을 가능성이 큽니다. 이 문제를 해결하려면 SSH의 기본 포트가 두 장치에서 열려 있는지 확인하십시오.

이 문제는 원격 시스템 중 하나가 CG-NAT 연결 뒤에 있기 때문에 발생할 수도 있으므로 원격 시스템에 대한 외부 연결이 제대로 해결되지 않습니다. 이 문제를 해결하려면 다음을 사용해야 합니다. VLAN 소프트웨어 , 와 같은 이그드라실 , 통과할 수 있습니다. CG-NAT.

Q2. SCP 프록시를 켰는데 원격 호스트가 연결을 끊었습니다. 어떡해?
답변. 이 문제는 프록시 시스템 문제로 인한 것일 가능성이 큽니다. SSH 에이전트를 제대로 시작하려면 사용하려는 시스템에 OpenSSH 서버와 netcat이 있는지 확인하십시오. 이러한 프로그램을 설치하려면 우분투 다음 명령을 실행합니다. sudo apt는 ssh netcat을 설치합니다.

Q3. SCP에 사용 가능한 모든 암호를 찾을 수 있습니까?
답변. 기본적으로 SCP는 암호화 기능을 위해 SSH 프로토콜에 크게 의존합니다. 이러한 이유로 SSH 스크립트를 사용하여 SCP와 함께 사용할 수 있는 암호 목록을 인쇄할 수 있습니다. 예를 들어 다음을 실행할 수 있습니다. ssh -Q 암호 장치에서 사용 가능한 모든 암호의 짧은 목록을 인쇄합니다.

당신은 또한 좋아할 수 있습니다