비밀 키 없이 jenkins 크로스 서버 복사 파일 스크립트 구현

1755 단어
jenkins를 사용하여 통합을 할 때 각 프로젝트의 설정을 모아서 통일적으로 관리해야 합니다.이런 장면에서 프로젝트를 포장한 후에 설정은 jenkins 서버가 모인 후에 jenkins 서버에서 배치 서버로 복사해야 한다. 이렇게 하면 jenkins 서버에서 일부 스크립트를 설정할 수 있다. 이 스크립트는 그 복사 설정 파일을 통해 배치 서버를 유도할 수 있다.scp 명령을 이용하면 되지만 scp 명령은 기본 환경에서 비밀번호가 필요합니다. 여기는 ssh로 정보를 제공하고 비밀번호가 필요하지 않으면 파일을 복사할 수 있습니다.
예:
A 서버 IP192.168.1.223은 jenkins 서버입니다.
B 서버 IP192.168.1.193은 배포 서버입니다.
작업 단계:
1) 그러면 먼저 A 서버에서 ssh-keygen-trsa를 실행하고 차를 타고 내려가서/root/.ssh 디렉터리 아래에 id_ 생성rsa 및 id_rsa.pub 두 파일, id_rsa.pub 복사해 주세요.
     cp id_rsa.pub id_rsa223.pub
2) A 서버의 id_rsa3.pub를 B 서버로 복사
    scp root/.ssh/id_rsa223.pub [email protected]:/root/.ssh/id_rsa223.pub
B 서버의 암호를 입력합니다.
복사한 후 id_rsa193.pub 쓰기 authorized_keys
    cat id_rsa193.pub >> authorized_keys
이 파일이 없으면 (수동으로 만들 수 있는 디렉터리가 없음) 바로 실행합니다.
    cd  /root/.ssh/
    mv id_rsa193.pub authorized_keys
3) A 서버에서 테스트 스크립트를 실행하여 성공 여부를 확인합니다.
   scp test [email protected]:/home/test
4) 마지막으로 스크립트를 작성하여 서버 A에서 서버 B로 파일 복사
 
문제 발생:
1) SCP는 기존 파일을 덮어쓰지 않습니다.
일시적인 해결 방법을 제공합니다. 대상 파일의 파일 이름을 포함하지 않고 대상 폴더 경로만 사용합니다.예를 들어 원래 명령:
scp -r /home/mpi/project1/ slave1:/home/mpi/project1
  • 테스트 결과 기존 파일을 덮어쓰지 않습니다. 변경된 덮어쓸 수 있는 명령은:
  • scp -r /home/mpi/project1/ slave1:/home/mpi/

    2) scp 명령, 대상 디렉터리에 없는 문제
    다음 scp 명령:scp/var/test/abc.txt [email protected]:/var/test/abc.txt
    위 명령을 실행하기 전에 다음 명령을 실행합니다. [email protected] "[ -d /var/test ] && echo ok || mkdir -p /var/test"
    3) 복제된 두 컴퓨터는 같은 계정 이름을 사용해야 한다. 여기는 모두 루트를 사용한다.보안을 위해 두 기기에서 같은 계정을 만들고 서버 S에서 su 명령으로 이 계정으로 전환한 다음 2단계, 2단계에서 파일을 복사할 때 ~/가 가능합니다.ssh/디렉터리가 존재하지 않습니다. 수동으로 만들어야 합니다.

    좋은 웹페이지 즐겨찾기