ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 패스워드 없이 SCP 파일전송하기
    Network 2023. 11. 15. 06:12
    728x90
    반응형

    패스워드 없이 SCP 파일 전송을 하기 위해서는
    클라이언트에서 SSH 키 생성하고 
    해당 public 키를 서버의 인증리스트에 등록해 주어야 합니다.

     

    클라이언트 서버에서 작업사항


    서버에 인증키 등록을 위해서
    클라이언트 서버에서 아래의 명령어로 SSH키를 새로 생성합니다.

    ssh-keygen -t rsa

     

    해당 명령어를 사용하면 키를 저장할 위치와
    패스워드를 물어보는데 저는 별도의 값을 지정하지 않고
    기본 값으로 생성 하였습니다.

     



    키 생성이 잘 되었는지 확인해 보면
    id_rsa 라는 개인키가 생성되었고
    id_rsa.pub 라는 공용키도 생성된 것을 확인 할 수 있습니다.


    이중 id_rsa.pub 키를 목적지 서버에 복사해 줍니다.

    목적지 서버에서 작업사항


    아래의 명령어로 복사한 id_rsa.pub 키를 authorized_key에 등록해 줍니다.

    cat id_rsa.pub >> /root/.ssh/authorized_keys

     

    파일경로는 자신의 환경에 맞추어 지정하면 됩니다.


    등록후 authorized_keys 파일을 열어보면 추가한 키가 등록된것을 확인 할 수 있습니다.
    AWS에서 테스트 중이라서 이미 등록된키도 확인됩니다.

    그다음엔 RootLogin 권한부여가 필요합니다.

    vi /etc/ssh/sshd_config

     

    sshd_config에 접근하여 PermitRootLogin 옵션을 yes로 변경해 줍니다.


    해당설정 적용을 위해 sshd 데몬을 재시작해 줍니다.

    service sshd restart


    이제 모든 준비가 끝났습니다.

     

    Key를 이용한 SCP 파일전송

     

    아래는 제가 사용한 파일전송 명령어 입니다.
    -i 옵션으로 개인키 파일을 선택해 주시고
     SCP 전송을하면 패스워드 없이 파일전송이 가능합니다.

    scp -i /home/ubuntu/.ssh/id_rsa -P 22 /var/tmp/point/point_20220210.sql ubuntu@172.31.7.83:/var/tmp/


    목적지 서버에서 확인해 보면 정상적으로 파일이 전송된것을 확인 할 수 있습니다.



    이를 이용하면 crontab을 이용하여,
    주기적으로 설정을 백업하여 다른서버로 전달하는 등의 백업 스크립트로 사용이 가능합니다.

    참조하셔서 주기적인 파일전송에 이용하시기 바랍니다.

    728x90
    반응형
Designed by Tistory.