코딩정보




● 시놀로지작업)서브도메인 https 인증서 이동을 위한 [영상정보] 우분투 - scp 로 원격서버에 데이터 전송하기

♨ 카랜더 일정 : 2023년04월24일
  • 링크

  • 첨부

  • 컨텐츠 정보

    본문

    ● 시놀로지작업)서브도메인 https 인증서 이동을 위한 [영상정보] 우분투 - scp 로 원격서버에 데이터 전송하기

    https://www.youtube.com/watch?v=Ti5hUhQCZLU

    3232235521_1682325322.8992.png

    '=================

    https://apollo89.com/wordpress/?p=132

    by APOLLO89 posted on 2007년 12월 10일

     SCP를 암호없이 사용 하기 / ssh 로그인 없이 접속하기


    1. 두대의 서버 트러스트 관계 만들기

    1) scp를 사용하여 자동으로 데이터를 복사하기 위해서는 두대의 머신이 트러스트(Trusted) 관계에 있어야 된다.

    두대의 서버를 트러스트 관계로 만들기 위해서는 공개/개인 dsa 키 쌍을 생성하여 트러스트 관계의 서버에 복사해야 된다.

    한쪽 서버(백업 데이터를 저장할)에 ssh나 telnet으로 로그인하여 root 유저에서 다음 명령을 따라 한다.

    ]# /usr/bin/ssh-keygen -t dsa
    Generating public/private dsa key pair.
    Enter file in which to save the key (/root/.ssh/id_dsa): [Enter]
    Enter passphrase (empty for no passphrase): [Enter]
    Enter same passphrase again: [Enter]
    Your identification has been saved in /root/.ssh/id_dsa.
    Your public key has been saved in /root/.ssh/id_dsa.pub.
    The key fingerprint is:
    xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@abc.com

    2) 아래 명령을 실행하여 상대편 서버에 ‘1)’번에서 생성한 dsa 키를 복사한다.

    ]# /usr/bin/scp .ssh/id_dsa.pub user@123.com:
    The authenticity of host '123.com (xxx.xxx.xxx.xxx)' can't be established.
    RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '123.com,xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
    user@123.com's password:  (서버계정의패스워드입력)
    id_dsa.pub           100% |*********************************************************************************|   608       00:00   

    3) 이제 서버에 일반 유저계정(앞에서 사용한 계정:user)으로 로그인 한다.

    그리고 앞에서 보내온 파일의 내용을 .ssh/authorized_keys 파일에 추가하기 위해

    유저의 홈 디렉터리에서 다음 명령을 실행한다.

    ]$ mkdir .ssh
    ]$ /bin/cat id_dsa.pub > .ssh/authorized_keys

    4) 그리고 정확히 실행되었는지 아래 명령을 사용하여 확인한다. 이 파일의 내용은 대략 다음과 같이 생겼다.


    ]$ /bin/more .ssh/authorized_keys
    ssh-dss AAAAB3NzaC1kc3MAAACBANEuZIB0w4k+VQsAFDJ0E+J3MQ+7FvHZzFJA4E5Y7fVvtRZEaBKo3kMaH3wb6rKSXVWw8X3pX4442lzNq7g0zCmcXSUZrH3mNQ1jVCj0
    it2F9H3rv6zwntWAgJNDFRyZBXcv6ijVuHm4zNqxSlqG3cZLCtx0O8GKsbqNSJAZk/8NAAAAFQDKW7n7BpGcnkfN1MIeRl70ybtiYQAAAIEAr6PmB4ThIflrjojmajfp3y0l
    IE2GT5aOC0Y0Guyi9shrnErgqb8vVHsuKfxE+DB/gTPZpi5UigOxudO6ZIL0HN4l1MlpeuBInkjv3jG+qDQZs2YieN2VwOSkWgNTCzAffmTD0z0cfntmnCPCjYkGgwyGRz1x
    gU5NbY2dXyK6NbAAAACALzt5avRoktIybJkeZNp0/1xvkD/gBXFbRbkV6eRdG7kKg1LlLapAtxynRaALIeBpHvRHkSlyovZa0BTTGMxy5dsLwVbpISPybqqHDlmnFID3jtwi
    855OLwiHVGf/Hj7hmlt1sLMSMiK8nEGZRm2QqtgPKodEP1Dm6HLUoLRHEGo= root@abc.com

    5) 보안을 위해 서버에서 사용한 키 파일을 삭제하고 키가 저장된 파일의 퍼미션을 변경한다.

    이로서 두 서버가 트러스트 상태가 되었다.

    ]$ rm -f id_dsa.pub

    ]$ chmod 700 .ssh
    ]$ chmod 644 .ssh/authorized_keys

    6) 테스트를 위해 서버의 유저 디렉터리에서 파일 하나를 복사해 보자. 파일을 복사하려는 서버(abc.com)에서 다음 명령을 실행한다.

    (서버의 user 유저의 홈 디렉터리에 default.html 파일이 있다고 가정)


    ]$/usr/bin/scp user@123.com:/home/user/default.html /home/user/default.html

    default.html         100% |******************************************************************|  6131       00:00   
    ]$
     

    THIS ENTRY WAS POSTED IN SYSTEM, UTIL/TOOLS AND TAGGED AUTHORIZED_KEYS, ID_DSA.PUB, KEY, RSA, SSH, SSH-KEYGEN, 로그인, 암호, 인증. BOOKMARK THE PERMALINK.

    ===

    목표> 인증서복사>> 인증서 추가 가져오기로 인증서 저장 폴더 확인 작업 

    3232235521_1682343139.8213.png

    1.참고) npm으로 만든 인증서를 npm-14로 저장 상태

    2.참고) 인증서 가져오기 추가후  파일비교 하니 1ehwGc 의 디랙토리가 동일 사이즈 확인로

            인증서 가져오기 저장 1ehwGc  폴더임

    ============================================>

    저는 시놀로지 https:// 인증키를 추가하는 작업을 준비 한다

    작업 로컬 위치 > 시놀로지 ip7 >> 향후 crontab 또는  작업스케쥴러로 

    서버위치 ip3 > 에 npm으로  생성한 https의  인증서를  ip7의 시놀로지로 이동 필요


    1.시놀로지 ip7번에서  ip3번의 인증서를  ip7번에  특정 디랙토리로 복사 합니다

    ip3에서 인증서 생성 > /ssl/ssl/nginxproxymanager/archive/npm-14/cert1.pem 에  npm인증서 생성됩니다

    scp -v shimss@192.168.0.3:/ssl/ssl/nginxproxymanager/archive/npm-14/cert1.pem /usr/syno/etc/certificate/_archive/npm-14/cert.pem

    scp -v shimss@192.168.0.3:/ssl/ssl/nginxproxymanager/archive/npm-14/chain1.pem /usr/syno/etc/certificate/_archive/npm-14/chain.pem
    scp -v shimss@192.168.0.3:/ssl/ssl/nginxproxymanager/archive/npm-14/fullchain1.pem /usr/syno/etc/certificate/_archive/npm-14/fullchain.pem
    scp -v shimss@192.168.0.3:/ssl/ssl/nginxproxymanager/archive/npm-14/privkey1.pem /usr/syno/etc/certificate/_archive/npm-14/privkey.pem

    ====> 상기 파일작업에 원격 암호없이 동작을 위한  원격 암호 키 생성 설정 필요

    scp -v /ssl/ssl/nginxproxymanager/archive/npm-14/cert1.pem shimss@192.168.0.7:/usr/syno/etc/certificate/_archive/npm/cert.pem
    scp -v /ssl/ssl/nginxproxymanager/archive/npm-14/chain1.pem  shimss@192.168.0.7:/usr/syno/etc/certificate/_archive/npm/chain.pem
    scp -v /ssl/ssl/nginxproxymanager/archive/npm-14/fullchain1.pem  shimss@192.168.0.7:/usr/syno/etc/certificate/_archive/npm/fullchain.pem
    scp -v /ssl/ssl/nginxproxymanager/archive/npm-14/privkey1.pem  shimss@192.168.0.7:/usr/syno/etc/certificate/_archive/npm/privkey.pem

    2.시놀로지 ip7번에서 인증서 디랙토리로 복사

    cp  /usr/syno/etc/certificate/_archive/npm-14/cert.pem   /usr/syno/etc/certificate/_archive/인증서디랙토리/cert.pem
    cp  /usr/syno/etc/certificate/_archive/npm-14/chain.pem /usr/syno/etc/certificate/_archive/인증서디랙토리/chain.pem
    cp  /usr/syno/etc/certificate/_archive/npm-14/fullchain.pem /usr/syno/etc/certificate/_archive/인증서디랙토리/fullchain.pem
    cp  /usr/syno/etc/certificate/_archive/npm-14/privkey.pem /usr/syno/etc/certificate/_archive/인증서디랙토리/privkey.pem


    3.관련 파일 명령어

    주사용하는 로컬에서 인증서 생성 > ssh-keygen

    로컬 id_rsa.pub 를 서버/홈으로 이동>  scp -p 22  shimss@192.168.0.3:/home/shimss/.ssh/id_rsa.pub /var/services/homes/shimss/.ssh/id_rsa.pub

    을 위한 원격 암호없이 동작을 위한  원격 암호 키 생성 설치 필요

    ip7 시놀로지에서  ip3서버에 이동한 키 합치기 > cat id_rsa.pub >> authorized_keys

    ip3 서버에서 >> authorized_keys에  서버 p3에  로컬 시놀로지 ip7의 id_rsa.pub 를 

     cat id_rsa.pub >> .ssh/authorized_keys

    ssh shimss@192.168.0.3 자동접속 확인후  상기 https 인증서 명령을 원격 암호키 동작 확인 합니다


    시놀로지 암호없이 scp ssh 접속하기

    [시놀로지] SSH 공개키로 비번없이 접속

    sudo -i

    find / -name sshd_config
    nano /etc/ssh/sshd_config
    nano /etc.defaults/ssh/sshd_config

    에서 파일 수정

    아래 문구의 주석제거 저장

    PubkeyAuthentication yes

    AuthorizedKeysFile      .ssh/authorized_keys

    3232235521_1682355752.2052.png

    3232235521_1682356555.1766.png

    AuthorizedKeysFile      .ssh/authorized_keys

    3232235521_1682356510.0241.png

    먼저 접속하는곳에서 (Client)에 key값을 만들어 준다. 


    ssh-keygen -t rsa

    ip 7 시놀로지에서 실행 파일 생성

    3232235521_1682357411.4601.png

    root권한으로 생성된 저장위치 Your identification has been saved in /root/.ssh/id_rsa Your public key has been saved in /root/.ssh/id_rsa.pub

    생성 됩니다
    3232235521_1682387455.2131.png

    /root/.ssh/id_rsa.pub 파일을 ip3로 전송하여
    ip3에서 ( homeassistant )에서는
    홈 사용자 유저가 ~/.ssh에 가 아니고 /home/shimss/.ssh디랙토리에 authorized_keys가 저장 되어야 합니다
    ➜  .ssh ll /home/shimss/.ssh/authorized_keys
    -rw-------    1 root     shimss       570 Apr 25 03:43 /home/shimss/.ssh/authorized_keys
    ➜  .ssh
     
    3232235521_1682387607.224.png

    주) 전송이 안되어 저는 edit 로 양터미널 열어 복사 했습니다
    ip7을 접속을 위한 root권한으로ssh-keygen -t rsa 생성 cat /root/.ssh/id_rsa.pub 확인하여
    ip3(homeassistant)에서 nano /home/shimss/.ssh/authorized_keys 하여붙여 넣기 하였습니다

    권한 변경
    chmod 755 /var/services/homes/abc
    chmod 700 /var/services/homes/abc/.ssh
    chmod 600 /var/services/homes/abc/.ssh/authorized_keys

    접속 테스트
    ssh -p 1234 user@ip
    접속시 
    Permission denied, please try again.
    문제 발생 해결  포트는 

    제어판  > 터미널 > ssh 서비스 활성화 > 포트 와 동일 포트로  연결 조건으로 됩니다
    3232235521_1682386422.9398.png

    테스트
    3232235521_1682386641.0704.png


    ==================  반대로 ==============

    ip3 homeassistant에서 ssh-keygen -t rsa 생성은

    들어오는것을 허용하는key /root/.ssh/id_rsa.pub를 생성

    Your identification has been saved in /root/.ssh/id_rsa

    Your public key has been saved in /root/.ssh/id_rsa.pub

    생성 정보 입니다

    3232235521_1682356014.7361.png


    접속하는 로컬이 ip7 시놀로지에서는

    /volume1/homes/shimss/.ssh/authorized_keys  설정되어 있어야 합니다

    cat id_rsa.pub >> /volume1/homes/shimss/.ssh/authorized_keys

    간단 방법


    ip3에서

    cat /root/.ssh/id_rsa.pub

    ip7에서는
    nano /volume1/homes/shimss/.ssh/authorized_keys

    ip7에서 권한변경

    chmod 700 /volume1/homes/shimss/.ssh/

    chmod 600  /volume1/homes/shimss/.ssh/authorized_keys

    synoservicectl --restart sshd
    dsm7.0 에서는
    /usr/syno/bin/synosystemctl restart nginx
    ========================================
    homeassistant 암호없이 접속이 안된다 ?? >> 무엇이 문제인가

    ssh shimss@192.168.0.3

    3232235521_1682389626.7135.png

    주)   

    === 기타=================================

    이전키 저장소 찾기

    AuthorizedKeysFile /etc/ssh/authorized_keys ~/.ssh/authorized_keys

    3232235521_1682356838.7688.png

    cat /etc/ssh/sshd_config
    구성요소 변경
    vi /etc/ssh/sshd_config
    포트및 check 항목
    3232235521_1682389068.7826.png'


    =======================

    SSH 비밀번호 없이 접속하기 / 리눅스 서버를 NAS에 rsync 백업 동기화

    에서 참조 작업합니다
    -------------
    scp -v shimss@192.168.0.3://ssl/ssl/nginxproxymanager/archive/npm-14/cert1.pem /usr/syno/etc/certificate/_archive/1ehwGc/cert.pem
    scp -v shimss@192.168.0.3://ssl/ssl/nginxproxymanager/archive/npm-14/chain1.pem /usr/syno/etc/certificate/_archive/1ehwGc/chain.pem
    scp -v shimss@192.168.0.3://ssl/ssl/nginxproxymanager/archive/npm-14/fullchain1.pem /usr/syno/etc/certificate/_archive/1ehwGc/fullchain.pem
    scp -v shimss@192.168.0.3://ssl/ssl/nginxproxymanager/archive/npm-14/privkey1.pem /usr/syno/etc/certificate/_archive/1ehwGc/privkey.pem

    안된다
    디른 폴더
    scp -v -p ??? /ssl/nginxproxymanager/archive/npm-14/cert1.pem  shimss@192.168.0.7:/volume1/homes/shimss/npm


     find / -name sshd_config

    nano /etc/ssh/sshd_config
    # override default of no subsystems
    Subsystem       sftp    /usr/libexec/sftp-server
    Subsystem       sftp    internal-sftp -f DAEMON -u 000

    systemctl reload sshd

    netstat -tlnp | grep ssh
    netstat -tlnp 

    /ssl/ssl/nginxproxymanager/archive/npm-14/privkey1.pem /volume1/homes/shimss/npm
    이동도 안된다
    =================

    haos에서 시놀로지로 암호없이 접속 진행준비

    cd ~/
    pwd
    linux@server:~$ cd ~/
    linux@server:~$ mkdir .ssh
    linux@server:~$ ls -al
    total 0 drwxrwxrwx+ 1 linux users 8 Mar 31 19:59
    . drwxrwxrwx+ 1 root root 32 Mar 31 19:56
    .. drwxrwxrwx+ 1 linux users 0 Mar 31 19:59 .ssh

    3232235521_1682748347.2478.png

    ## 리눅스 서버에서 아래 명령어로 개인키/공개키를 생성합니다. (만약 이미 가지고 있다면 생성할 필요가 없음)

    ssh-keygen -t rsa
    암호를 입력하라고 하면 빈 상태로 두고 엔터를 입력하세요. 

    그리고 아래 명령어로 권한 설정을 합니다.

    chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
    그리고 공개키를 나스로 전송합니다 :

    ssh-copy-id -i ~/.ssh/id_rsa.pub -p SSH_PORT ADMIN_USER_ONLY@XXX.XXX.XXX.XXX
    ## 시놀로지 나스에 SSH로 연결합니다.( 비밀번호 입력 필요)

    ssh -p SSH_PORT ADMIN_USER_ONLY@XXX.XXX.XXX.XXX
    그리고 권한 설정을 합니다.

    chmod 700 ~/.ssh && chmod 600 ~/.ssh/* 
    chmod u=rwx,g=rx,o=rx /volume1/homes/ADMIN_USER_NAME/
    그러면 이제 ssh 연결(또는 rsync) 시 암호 없이 접속이 됩니다.

    ssh -p SSH_PORT ADMIN_USER_ONLY@XXX.XXX.XXX.XXX
     

    [2. linux 서버에서 시놀로지 NAS로 rsync 명령어를 crontab에 등록하여  동기화]

     
    rsync 명령어

    rsync -av -e 'ssh -p PORT_RSYNC' ORIGIN/FOLDER/TO/SYNC/ USER@XXX.XXX.XXX.XXX:/volume1/homes/USERNAME/DESTINATION/FOLDER/
    rsync -av -e 'ssh -p 22??' /home/shimss/lets.tar  shimss@192.168.0.7:/volume1/homes/shimss/npm/

    안된다

    crontab 편집

    crontab -e
    crontab 주기

    *      *      *      *      * 
    분(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7) 

    매분 test.sh 실행 
    * * * * * /script/test.sh 

    매주 금 오전 5시 30분에 test.sh 실행 
    30 5 * * 5 /script/test.sh 

    매일 매시간 0분, 20분, 30분에 test.sh 를 실행 
    0,20,30 * * * * /script/test.sh 

    매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행 
    0-30 1 * * * /script/test.sh

    ================== 의 내용입니다=====================

     

     

    참고 : 

    https://gist.github.com/seignovert/c903c2facbf88243dac90de68be696ea

    https://www.synology.com/ko-kr/knowledgebase/DSM/tutorial/Backup/How_to_back_up_Linux_computer_to_Synology_NAS#t2

    tar -cvf lets.tar /ssl/nginxproxymanager/archive/npm-14

    참조

    https://raynee.tistory.com/478

    https://forteleaf.tistory.com/entry/synology-ssh-key값으로-비밀번호-없이-로그인


    ☞ https://11q.kr 에 등록된 자료 입니다. ♠ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다♠1.png

    [ 추가 정보 ... 더보기) ]
    뷰PDF 1,2



    office view

    관련자료

    댓글목록

    profile_image

    11qkr님의 댓글

    11qkr 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일

    [시놀로지] SSH 공개키로 비번없이 접속
    https://raynee.tistory.com/478

    답변
    profile_image

    11qkr님의 댓글

    11qkr 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일
    답변



    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-05-05 04:24:49

    오늘의 홈 현황


    • 현재 접속자♨ 268 명
    • 오늘 가입자※ 1 명
    • 어제 가입자※ 4 명
    • 주간 가입자※ 16 명
    • 오늘 방문자 901 명
    • 어제 방문자 2,141 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,304,564 명
    • 전체 게시물※ 8,554 개
    • 전체 댓글수※ 24,558 개
    • 전체 회원수 10,950 명

    QR코드


    ☞ QR코드 스캔은 kakao앱 자체 QR코드

    알림 0








    최신글↑