1, 매장 CA 개인 키와 공개 키에 폴더를 만들 ca를
에서 mkdir -p / usr / 지방 / 캘리포니아
CD / usr / 지방 /의 CA /
2 생성 CA 개인 키와 공개 키를
하려면 openssl genrsa -aes256 - 아웃 CA-key.pem 4096
연속 두 번 암호를 입력
3, 암호를 입력하기 위해, 국가, 지방, 도시, 조직 이름, 이메일 등을
하려면 openssl REQ - 새로운 -x509 -days 365 -key CA-key.pem -sha256 - 아웃 ca.pem
이제 CA, Next (다음)를 가지고, 서버 키와 인증서 서명 요청 (CSR)을 생성, 확인 당신이 호스트 부두 노동자의 경기에 연결하는 데 사용하는 이름으로 "일반 이름".
4, 생성 서버를 key.pem
하려면 openssl genrsa - 아웃 서버 key.pem 4096
5, CA는 공개 키에 서명
TLS 연결이 IP 주소와 DNS 이름을 통해 할 수 있기 때문에, 당신은 인증서를 만들 때 IP 주소를 지정해야합니다. 예를 들어, 10.10.10.20 및 127.0.0.1를 연결할 수 :
네트워크 외부 자신의 서버에 $ 호스트 IP 또는 도메인 이름
OpenSSL을 REQ -subj " / CN = $ 호스트 " -sha256 - 새 - 키 서버 key.pem - 아웃 server.csr
6 구성 화이트리스트
1) 서버에 연결할 수있는 고정 표시기를 IP를 지정할 수 있습니다, 당신은 쉼표로 구분하여 IP를 구성 할 수 있습니다.
이 회사는 너무 다른 사람도 사용할 수있는 구성 후 2) 이미 SSL 연결하기 때문에, 그래서 나는) 모든 IP 연결 할 수 있습니다 (하지만 그들이 성공적으로 연결하기 전에 인증서가있는 구성 0.0.0.0을 권장합니다.
에코 = subjectaltname에 IP : 자체 서버 언급 ID 위를 IP : 0.0 . 0.0 >> extfile.cnf
7, 키는 인증 서버 만 사용 도커 데몬 속성을 확장
에코 extendedKeyUsage 한 ServerAuth = >> extfile.cnf
8, 서명 된 인증서를 생성
OpenSSL을 X509 -req -days 365 -sha256 - 에서 server.csr -CA ca.pem -CAkey CA- key.pem \ -CAcreateserial - 아웃 서버 cert.pem -extfile extfile.cnf
9 클라이언트 key.pem 생성
하려면 openssl genrsa - 아웃 key.pem 4096 OpenSSL을 REQ -subj ' / CN = 클라이언트 ' - 새로운 -key key.pem - 아웃 client.csr
10, 클라이언트 인증을위한 키
에코 extendedKeyUsage = clientAuth >> extfile.cnf
에코 extendedKeyUsage = clientAuth> extfile-client.cnf
11, 서명 된 인증서를 생성
OpenSSL을 X509 -req -days 365 -sha256 - 에 client.csr -CA ca.pem -CAkey CA- key.pem \ -CAcreateserial - 아웃 cert.pem -extfile extfile-client.cnf
, cert.pem를 생성하면 암호 이전에 설정을 입력합니다.
12, 삭제 불필요한 파일
RM -v client.csr server.csr extfile.cnf extfile-client.cnf
확인하는 방법
13 만 읽을 수 쓰기 권한을 제거
chmod를 -v 0400 CA-key.pem key.pem 서버 - key.pem chmod를 -v 0444 cs.po 서버 cert.pem의 cert.pem
14 , 전가 서버 인증서
CP 서버 - *. PEM은 / etc / 고정 표시기 /
CP ca.pem 은 / etc / 고정 표시기 /
15, 수정 도커의 구성을
정력 / lib 디렉토리 / systemd / 시스템 / docker.service ExecStart =는 / usr / 빈 / dockerd과 : ExecStart =는 / usr / 빈 / dockerd --tlsverify --tlscacert = / usr / 지방 /의 CA / ca.pem - tlscert = / usr / 지방 /의 CA / 서버 cert.pem --tlskey = / usr / 지방 / CA / 서버 key.pem -H TCP : // 0.0.0.0:2375 -H 유닉스 : // /var/run/docker.sock
16, 다시로드 데몬 고정 표시기를 다시 시작
systemctl daemon- 다시로드
systemctl 재시작 고정 표시기
17 일 관련 클라이언트에 저장 되는 PEM 로컬에 파일을
18, IDEA CA 구성