우클릭방지

글 목록

레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시
레이블이 리눅스인 게시물을 표시합니다. 모든 게시물 표시

2019년 3월 4일 월요일

[리눅스]Ubuntu에서 삼바(Samba) 설치하기

요즘 노트북이 SSD 를 지원하면서 부터 기존의 HDD 때보다 속도면에서 엄청 빨라졌습니다. 하지만 SSD 적용으로 인해 "속도"라는 녀석을 얻고 "용량"이라는 놈을 내주긴 한 꼴이죠....

우리가 용량을 확장하기 위해서는 용량이 큰 SSD를 선택하면 되지만.. 금액 부담은 어쩔수 없겠죠.. 

그래도 예전보다는 SSD 가격이 떨어지고 있어서 희망적이긴 합니다. 
HDD 가격 수준에 이르길 기대해 보기도 합니다. ㅎㅎ 꿈일까요?

그렇다 보니.. 업무상 필요한 자료들은 많은데 이를 모두 노트북에 담아 놓기는 어렵게 되었습니다. 그래서인가 외장 디스크나 클라우드 환경에서의 Storage 서비스를 많이 이용하고 있는 추세이구요~.. 아무튼.. 이러나 저러나 비용이에요.. ^^

저는 회사에서 있는 여분의 서버를 이용하고 있습니다.  
범용 OS 중 하나인 우분투 리눅스를 이용해서 환경을 만들어 놓고, 자료들을 보관하고 있어요.. 

방법은 리눅스에서 제공하는 "삼바(Samba)"라는 서비스 입니다. 

이를 이용하면 리눅스 환경에서 윈도우 PC가 사용할 수 있는 네트워크 드라이브 서비스를 이용할 수 있습니다. 

자!! 이제 삼바(Samba)를 설치해 보겠습니다. 

저의 설치환경은 아래와 같습니다. 
  • 서버 : Ubuntu 18.04
Step 1. 삼바 설치 패키지 검색하기
(명령어 : apt-cache search samba)


Step 2. 삼바 패키시 설치하기
(명령어 : apt-get install samba)


아래는 'y' 를 선택했을 때 설치가 진행되고 있는 화면입니다.


설치가 완료되면 아래와 같은 메시지가 나옵니다.


뭔가 하나의 에러가 발생되었는데 무시해도 될듯 합니다.
systemctl 명령어를 이용해서 부팅시 자동시작되도록 유도한 것인데 "samba-ad-dc.service"가 없어서 발생된것 같습니다.


Step3. 부팅시 자동 시작되도록 서비스에 등록하기
(명령어 : systemctl enable smbd)


위 명령어로 "smbd" 를 등록합니다.

Step 4. Samba 데몬 시작하기
(명령어 : systemctl start smbd)


Samba 데몬이 정상적으로 구동되면 139번과 445번 포트가 Listen 상태로 있습니다.

여기까지 따라 오셨다면.. Samba 서비스가 정상적으로 설치되었습니다.



2017년 9월 1일 금요일

리눅스 find 명령어 사용법 #2 - 검색결과 대상으로 2차 명령 실행(-exec 옵션)


어제 find 명령어를 가지고 여러가지 조건을 바탕으로 원하는 결과를 출력하는 방법에 대해 알아보았다.

( find 명령어에 대한 자세한 사용법은 여기 를 클릭하여 확인 가능하다 )

오늘은 find 명령어의 활용에 대해 정리해 보려 한다.

검색결과물들을 지우고 싶을 때가 있거나 또는 다른 디렉토리로 복사하여 모아둔다던지 하는 행위들이 필요할 수 있다.

예컨대, 디스크 파티션이 거의 Full 직전이어서 불필요한 파일을 찾아 지우고 싶은 경우.. 또는 PPT나 HWP 와 같은 문서 파일들만 모아서 다른 디렉토리로 이동시켜 보관하려는 경우가 해당된다 하겠다.

find 명령어를 이용해서 검색은 하겠다만.. 검색 결과의 파일들을 일일히 개별적으로 처리해야 한다면 불편함이야 말할 수 없을 것이다.

하지만 고맙게도 find 명령어에서 옵션으로 제공하는 "-exec" 를 이용하면 이러한 2차 작업을 손쉽고 간단히 처리할 수 있다.

먼저 -exec 옵션의 사용은 다음과 같이 한다.

사용법: find [디렉토리] [검색옵션] -exec [2차 수행 명령] {} \;

-exec 뒤에 붙는 것들을 간단히 설명하면..
우선 2차 수행 명령.. rm 이나 cp, mv 와 같은 리눅스 명령어이다.
두번째 '{}' 는 검색 결과의 파일리스트들을 대입하기 위한 옵션이다.
세번째는 명령어를 실행하라는 Do it 과 같은 명령으로 이해하면 좋다.

다음의 예를 놓고 설명을 하면..

예 : find / -name '*.txt" -exec rm -f {} \;

  1. find 명령어로 txt 확장자를 가진 파일을 검색한다.
  2. 검색결과로 파일들이 도출될때마다 -exec 다음 명령어를 실행한다.
    rm -f [검색결과 파일] 
a.txt b.txt ~~~ 와 같이 10개의 파일이 검색되었다고 하면.. 

rm -f a.txt 
rm -f b.txt
rm -f c.txt
.
.
.

이런식으로 검색결과가 끝날때까지 -exec 뒤의 명령어가 수행되어지는 것이다. 





백문이 불여일견 이라고..  직접 테스트를 해보자. 

자! 우선 다음과 같은 파일들을 준비했다.

  • 10개의 PDF 문서 파일
  • 1개의 동영상 파일 (500M 이상)



위 예로 든 상황 2개를 테스트 해 볼 것이다.



상황#1 PDF 문서파일을 모두 검색하여 Doc 디렉토리로 이동 시키기

먼저, 확장자가 PDF 인 파일들만 찾아 본다.
명령어 : find . -name '*.pdf'


위와 같이 10개의 PDF 문서가 정상적으로 검색되었다.
이제 이 파일들을 Doc 디렉토리로 이동시킨다.

명령어 : find . -name '*.pdf' -exec mv {} ./Doc \;


위 명령어에서 -exec 옵션 뒤 구문을 좀 살펴보자.
구문 : -exec mv {} ./Doc \;

검색된 결과가 1.pdf ~ 10.pdf 까지 총 10개이니까 검색결과를 기반으로 해석해 보면..
mv 1.pdf ./Doc
mv 2.pdf ./Doc
.
.
.
mv 10.pdf ./Doc

와 같이 명령어가 수행될것이라고 생각해 볼 수 있다.
그럼 결과는..



의도한 바와 같이 잘 처리되었음을 확인할 수 있다.





상황#2 500M 이상되는 AVI 영상 파일을 찾아 삭제하기


상황#1 과 마찬가지로.. 먼저 파일용량이 500M 이상되는 파일을 검색해 본다.
명령어 : find . -size 500M -name '*.avi'


500M 이상의 avi 파일이 잘 검색되었다.

이제 검색된 파일을 지워보자.
명령어 : find . -size 500M -name '*.avi' -exec rm -f {} \;

-exec 뒷부분을 좀 살펴보면..
test.avi 파일 하나가 검색되었으니.. {} 부분에 test.avi 를 대입한다. 그러면 아래와 같이...

rm -f test.avi  의 명령어가 같이 수행되어 파일삭제가 이루어진다. 

결과를 보면.. 



정상적으로 test.avi 파일이 삭제 되었음을 확인할 수 있다.

이렇듯.. -exec 옵션을 이용하면 검색 결과를 기반으로 다양한 2차 작업을 간단하게 수행할 수 있다.

역시나 리눅스에서 무료로 제공하는 find 명령어가 얼마나 강력한지를 여실없이 보여주는 시간이었다.

끝~

2017년 8월 31일 목요일

리눅스 find 명령어 사용법 #1 - 검색

리눅스 시스템에서 자주 사용되는 명령어 중 find 라는 명령어가 있다.
find 명령어는 영어 글자 의미 그대로 파일이나 디렉토리를 검색하기 위한 목적으로 사용된다.

보통 파일 검색하는 조건이 다음 범위내에 있을것이라 본다.

  • 특정 파일명을 찾고자 하는 경우
  • 특정 디렉토리를 찾고자 하는 경우
  • 특정 권한을 가진 파일을 찾고자 하는 경우
  • 특정 소유자의 파일을 찾고자 하는 경우
  • 특정 그룹의 파일을 찾고자 하는 경우
  • 특정 용량(사이즈) 기준의 파일을 찾고자 하는 경우
  • 특정 시간 기준의 파일을 찾고자 하는 경우
  • 파일 내용에 특정 문자열이 포함된 파일을 찾고자 하는 경우
위 나열된 조건에 해당되는 파일을 찾고자 했거나, 혹은 하려는 분들에게 도움을 드리고자 내용을 정리해 본다. 

먼저 find 명령어는 다음과 같은 형식을 가진다. 

find [찾고자 하는 디렉토리 경로] [옵션] 

바로 옵션에 어떤 것을 사용하느냐에 따라 위에서 우리가 필요로 하는 조건을 만족시키는 결과를 찾아낼 수가 있는 것이다. 

자.. 일단 이해를 쉽게 하는 차원에서 다음과 같이 temp 디렉토리에 테스트 파일을 만들었다. 총 12개의 파일이 존재하며 파일의 생성시간은 2017년 매월 1일이다.




위 12개의 파일 가지고 위 8가지 경우에 대해 확인해 보도록 한다.

1. 특정 파일명을 찾고자 하는 경우

사용법 : find [디렉토리] -name '[파일명]' 

사용예

#1 현재 디렉토리에서 1mon.txt 파일을 찾으려는 경우
명령어 : find . -name '1mon.txt'


find 명령어 다음 디렉토리를 명시해야 하는 부분에 "." 을 적은 것은 다들 이해하고 있으리라 본다.
"." 은 현재 디렉토리라는 뜻이며 "./" 와 같이 표시해도 된다.

(참고로.. 명령어 제일 마지막에 '-ls'는 결과를 ls -l 과 같은 형태로 표시하라는 의미이다.)

#2 현재 디렉토리에서 txt 확장자를 가지고 있는 파일을 모두 찾으려는 경우
명령어 : find . -name '*.txt"


#3 현재 디렉토리에서 1로 시작되는 파일명을 가진 것을 찾으려는 경우
명령어 : find . -name '1*' 


2. 특정 디렉토리를 찾고자 하는 경우

이는 파일명을 찾는 것과 사용법이 거의 같으나, "-type d" 라는 옵션만 하나 추가된다.

사용법 : find [디렉토리] -type d -name '[디렉토리명]' 

사용예

#1 루트에서 temp 디렉토리를 찾고자 하는 경우
명령어 : find / -type d -name 'temp'


#2 루트에서 디렉토리명에 tar이 포함되는 경우
명령어 : find / -type d -name '*tar*'


3. 특정 권한을 가진 파일을 찾고자 하는 경우

이는 파일명을 찾는 것과 사용법이 거의 같으나, "-perm 777" 과 같은 옵션만 하나 추가된다.  (perm 은 permission 의 약자이다.)

사용법 : find [디렉토리] -perm [권한숫자] -name '[파일명]' 

사용예

#1 현재 디렉토리에서 777 권한을 가진 파일 찾기
명령어 : find . -perm 777 


#2 현재 디렉토리에서 777 권한을 가진 12mon.txt 파일 찾기
명령어 : find . -perm 777 -name '12mon.txt'


4. 특정 소유자의 파일을 찾고자 하는 경우

이는 파일명을 찾는 것과 사용법이 거의 같으나, "-user [사용자명]" 과 같은 옵션만 하나 추가된다.

사용법 : find [디렉토리] -user [사용자명] -name '[파일명]' 

사용예

#1 현재 디렉토리에서 jhkim 사용자의 소유권이 있는 파일 찾기
명령어 : find . -user jhkim


#2 현재 디렉토리에서 jhkim 사용자의 소유권이 있는 11mon.txt 파일 찾기
명령어 : find . -user jhkim -name '11mon.txt'







5. 특정 그룹의 파일을 찾고자 하는 경우

이는 파일명을 찾는 것과 사용법이 거의 같으나, "-group [그룹명]" 과 같은 옵션만 하나 추가된다.

사용법 : find [디렉토리] -group [그룹명] -name '[파일명]' 

사용예

#1 현재 디렉토리에서 root 그룹의 소유권이 있는 파일 찾기
명령어 : find . -group root


#2 현재 디렉토리에서 root 구룹의 소유권이 있는 8mon.txt 파일 찾기
명령어 : find . -group root -name '8mon.txt'



6. 특정 용량(사이즈)의 파일을 찾고자 하는 경우

이는 파일명을 찾는 것과 사용법이 거의 같으나, "-size [용량]" 과 같은 옵션만 하나 추가된다.

사용법 : find [디렉토리] -size [용량] -name '[파일명]' 

*size 옵션 뒤에 용량 표기는 다음과 같이 할 수 있다.
. c : 바이트
. k : 키로바이트
. M : 메가바이트
. G : 기가바이트

사용예

#1 현재 디렉토리에서  2 바이트 이상 되는 파일 찾기
명령어 : find . -size +2c 


#2 루트 디렉토리에서 1024 바이트(1 Kbyte) 이상 되는 파일 찾기
명령어 : find / -size +1024c      또는 find / -size +1k


위 예에서는 결과 출력이 너무 많아서 명령어 마지막에 " | more" 를 사용했다.

#3 루트 디렉토리에서 1k 이상 2k 미만 되는 파일 찾기 (용량 범위 파일 검색)
명령어 : find / -size +1k -size 2k  (두번째 size에 - 부호가 없는것을 유의하자)



7. 특정 시간 기준의 파일을 찾고자 하는 경우

먼저 시간옵션을 이해하는게 중요하다.
리눅스에서는 다음과 같이 시간을 3가지로 구분한다.

  1. atime : access time
    마지막으로 파일에 접근한 시간, vi 또는 cat 등의 명령어로 열람한시간이 이에 해당
  2. ctime : change time
    마지막으로 chmod나 chown등으로 파일의 속성 및 권한을 변경한 시간
  3. mtim : modification time
    마지막으로 파일의 내용을 수정한 시간

보통 ls -l 로 확인하는 시간은 mtime 이다.
atime은 ls -lu 명령어로 확인 가능하고...
ctime은 ls -lc 명령어로 확인이 가능하다.

조금 이해가 되었을 것이다.
그럼 위 3가지 시간옵션을 가지고 활용을 해보자.

사용법 : find [디렉토리] -atime / -mtime / -ctime [시간옵션] -name '[파일명]'

* 시간옵션의 기본 단위는 24시간(하루)이다.
예를들어 -mtime 2  의 의미는 수정된지 48시간(2일)이 된 파일이다.

사용예

#1 현재 디렉토리에서  마지막으로 수정된지 2달 이상된 파일 찾기
명령어 : find . -mtime +60 


#2 현재 디렉토리에서 마지막으로 수정된지 5달 이상된 txt 확장자를 가진 파일 찾기
명령어 : find . -mtime +150 -name '*.txt" 


#3 /etc 디렉토리에서 파일의 속성을 변경한지 2달 이상된 파일 찾기
명령어 : find /etc -ctime +60 







8. 파일 내용에 특정 문자열이 포함된 파일을 찾고자 하는 경우

이것을 하려면 두가지 명령어를 합쳐서 수행해야 한다.
조금 복잡할 수 있겠으나, 자세히 들여다 보면 크게 어렵지 않으니 가볍게 내용을 보면 좋겠다.

명령어 수행은 다음 순으로 진행되는 것으로 이해하면 된다.
  ㄱ. 특정 디렉토리의 파일들을 모두 검색한다.
  ㄴ. 검색된 파일들의 내용을 일일히 문자열과 비교하여 매치되는 것을 찾아낸다.

위 2가지를 합쳐서 하나의 명령어로 하면.. 다음과 같다.

사용법 : find [디렉토리] -type f -exec grep '[찾고자 하는 문자열]' /dev/null {} \;

테스트로 사용하고 있는 12개의 파일에는 각각 그 달(month)를 의미하는 영어 약자가 포함되어 있다.

1mon.txt 에는 Jan 가... 2mon.txt 에는 Feb 가...
이런식으로.. 12mon.txt 에는 Dec 가 내용으로 입력되어 있다.

#1 현재 디렉토리에서 Aug 단어를 포함하는 파일 찾기
명령어 : find . -type f -exec grep 'Aug' /dev/null {} \;



여기까지 find 명령어를 이용해서 내가 원하는 형태의 파일을 어떻게 찾을 수 있는지 알아보았다. 

참고로 위 8가지 조건은 다양한 형태로 and 조건화 하여 같이 사용이 가능하다. 

예를 들어.. 

#1 현재 디렉토리에서 마지막으로 수정된지 4달 이상된 파일 중 사이즈가 2바이트 이상이며 소유자는 jhkim 인 파일을 찾는 경우
명령어 : find . -mtime +120 -size +2c -user jhkim


결과는 1mon.txt 파일이다. 아래 파일 목록을 보고 조건에 잘 맞게 검색이 되었는지 확인해 보면 좋겠다. 

이렇듯 막강한 검색 명령어 find...  윈도우에서 이런것을 수행하려면 별도의 프로그램을 통해야 하지만.. 리눅스에서는 기본으로 제공하고 있으니.. 참 좋은듯 싶다. 

끝~

* find 명령어 검색 결과 대상 2차 명령 실행(아래 예의 경우)은 다음 강좌에서 자세히 다룬다. (-exec 옵션 활용 법)

  • 검색 결과를 모두 지우기
  • 검색 결과를 모두 다른 폴더로 이동하기 등..

=> 여기 를 클릭하여 다음 강좌로 이동하기 

2017년 7월 17일 월요일

우분투(Ubuntu) 서버 원격데스크톱(RDP) 연결 하기

Ubuntu 서버를 하나 구축해서 KVM을 올려 여러가지 VM(Virtual Machine) 인스턴스를 운영중에 있다.

서버 관리를 SSH(Secure Shell)을 이용하고 있었는데, 여러가지 이유로 그래픽 환경으로 관리하고픈 욕구가 생겼다. 

다행히도 나와같은 목적을 가진 사람들이 많아서 그런지 인터넷 상에 자료 또한 넘쳤다.

나는 이 중 가장 간단한 방법으로 원격 데스크톱 서비스를 올릴 방법을 이용해봤고 이 내용을 공유해 보려 한다. 

과정은 단지 2가지 방법만 실행하면 된다. ㅎ 무지 간단하다. 

1단계

그중 첫째, 
XRDP 패키지를 설치해야 한다. 

자신의 시스템에 xrdp 패키지가 설치되었는지 확인부터... 

명령어 :           dpkg -l | grep xrdp          


나는 xrdp 패키지가 설치되어 있지 않았으니.. apt-get 을 이용하여 설치해 본다. 

명령어 :           apt-get install xrdp          















xrdp 패키지가 설치되고 있다. 설치가 완료되면, 결과가 text로 표시되겠지만... 그래도 잘 되었는지 확인하기 위해 다음 명령어로 확인해 본다. 

명령어 :           dpkg -l | grep xrdp          





일단, 설치는 Good!!!!!
두 단계 중 첫번째 단계가 무사히 마무리 되었다. 
xrdp 가 설치되면, 터미널 접속을 위한 TCP 3389 포트가 Open 이 된다. 
언뜻, 작업이 다 끝난것처럼 보이기도 하지만, 이대로 원격데스크톱 접속을 하면, 회색 화면(Gray Screen)만 계속 보게 될 것이다. 
우리는 서버를 컨트롤 해야 하므로.. 한가지 더 해줘야 할 일이 남아 있는것이다. 

이제 마지막 두번째 단계를 실행해야 한다. 






2단계

두번째 역시 크게 어렵지는 않다. 
다음 내용을 차근차근 따라해 보도록 하자.

두번째 단계에서 설치해야 할 패키지는 mate-desktop 패키지이다. 

명령어 :           apt-get update          











패킷지 설치를 위한 리스트 업데이트를 해주고..

명령어 :           apt-get install mate-core mate-desktop-environment mate-notification-daemon          














설치를 완료한다. 뭐 여러가지 패키지들이 의존성에 묶여 있기 때문에 설치될 것이다. 시간도 조금 필요로 한다. 

설치가 완료되었다. 

이제 마지막으로 mate 설치가 되었으므로, xrdp 에서 mate를 활용할 수 있게 다음 작업을 수행해 주면 된다. 

명령어 :           sed -i.bak '/fi/a #xrdp multiple users configuration \n mate-session \n' /etc/xrdp/startwm.sh          







작업이 완료되었다. 

아래와 같이 원격데스크톱 프로그램을 이용하여 우분투(Ubuntu) 리눅스 서버로 접속을 해보자. 


접속이 되면, 계정정보를 묻는다. 
리눅스 서버에서 이용하고 있는 계정을 이용하여 로그인을 한다. 


리눅스 접속이 완료되었다. 

2016년 12월 16일 금요일

오픈스택에서 인스턴스로 라우터 만들기

2주일은 삽질한것 같다.

오픈스택에 관심이 가서, 서버 2대에 Mitaka 버젼을 설치했다.
회사 제품에 L4가 있다. 이 녀석을 이미지를 업로드 한담에 인스턴스 생성을 했다. 여기까지는 별문제 없이 잘 진행됬는데..

SLB 그룹을 만들고 VIP로 ping을 때리니... 안된다....
L4 인터페이스 IP로는 잘 되는데 말이다.

문제는 이것만이 아니었다.
L4를 기준으로 상하단 네트워크가 다르다. 상단에서 하단에 있는 서버로 Ping을 날려봤는데.. 이역시 안된다.

L4가 라우팅을 못하나 싶어.. tcpdump 로 확인해보니.. 패킷상으로는 문제가 없다.
정상적으로 전달을 하고 있음이 확인!
서버에서 확인해봤다.. 패킷이 들어오지 않는다.

음.. 뭔가 인스턴스가 연결된 포트나 Vswitch에서 패킷을 드롭하고 있구나 생각되었다.
구글링.. 구글링...

오픈스택의 기본기능으로 Spoofing 기능이 있다는것을 확인..
설정상으로 모두 False 로 바꾸었는데도.. 안된다.

으~~~~~~~~~~~

2주정도 삽질 끝에... 드뎌 해결을 했다. ^^

기분이 좋구나~~~ 이제 본격적으로 테스트 망을 꾸며봐야겠다. ^^

2016년 6월 23일 목요일

IIS6에 사설인증서(자체발급인증서)를 이용한 SSL 서비스 올리기

좀 오래된 버젼인 IIS6에 SSL 서비스를 올려야 할 일이 있어 작업을 하는김에 블로그에 내용을 정리해 보려 한다.

일단, 자체 발급사설인증서를 만드려면, Openssl 이 필요하다. 
뭐 다른 방법도 있다고 하지만, 나는 Openssl 이 익숙하기도 하고, 쉽게 구할수도 있어서 Openssl 을 이용하기로 한다. 

다음 내용을 차근차든 따라해 보면 어렵지 않게 II6에 SSL 서비스를 올릴수 있을 것이다. 

윈도우서버에서...


  1. 시작 > 모든프로그램 > 관리도구 > 인터넷 정보 서비스(IIS) 관리 를 클릭한다.



  2. 기본 웹사이트 > 속성 을 클릭한다.

  3. 디렉토리 보안 > 서버인증서 > 인증서 마법사가 뜨면 다음을 클릭한다.

  4. 새인증서를 만듭니다. 선택

  5. 요청을 지금 준비하지만, 나중에 보냅니다. 선택

  6. 비트 길이를 선택 > 요즘 추세는 2,048 key 이므로.. 2048을 선택

  7. 조직, 조직 구성 단위에는 아무값이나 입력

  8. 일반 이름에 서비스하는 도메인을 입력 (어짜피 자체 발급 인증서라 경고창이 뜰것이므로 아무값이나 입력해도 됨)

  9. 국가, 시/도, 구/군/시 에도 아무값이나 입력

  10. 인증요청서의 모든 과정을 마침. 원하는 위치에 파일로 저장

  11. 저장된 인증요청서 파일을 Openssl 이 설치된 곳으로 이동함.
   
본인은 리눅스 서버에 보통 openssl이 기본으로 설치되어 있으므로, 리눅스 서버를 이용함



리눅스서버에서...


  1. CA인증서를 만들어야 함. 만들기 전에 리눅스 서버에 설치된 Openssl의 CA 디렉토리를 확인한다.
    (명령어 : vi /etc/pki/tls/openssl.cnf)

  2. 확인된 CA 디렉토리로 이동하여 다음 명령어를 실행한다.
    (명령어 :
    touch serial
    echo "00" > serial
    touch index.txt)

  3. CA 개인키를 생성한다.(명령어 : openssl genrsa -out private/ca.key)

  4. CA자체의 인증 요청서(CSR)를 생성한다.(명령어 : openssl req -new -key private/ca.key -out ca.csr)

  5. 자체 서명한 CA 인증서를 생성한다. (명령어 : openssl ca -in ca.csr -out ca.crt -selfsign -keyfile private/ca.key )

  6. 리눅스 서버에서 다음과 같은 명령어를 이용하여 자체 서명한 CA 인증서와 개인키를 생성(명령어 : openssl x509 -req -in certreq.txt -CA /etc/pki/CA/newcerts/00.pem -CAkey /etc/pki/CA/private/ca.key -CAcreateserial -out iis.cer -days 365)



    * 옵션 설명
    -in : 인증요청서를 선택
    -CA : 사설 CA인증서를 선택 (필자는 CentOS 6.8 리눅스 서버에서 수행했는데, RPM 패키지로 Openssl이 통상 설치된 경우 위 경로에 CA인증서가 위치함)-CAkey : 사설 CA인증서의 개인키를 선택 ( CA인증서 위치와 마찬가지로 CA 개인키도 기본적으로 위 경로에 위치함)
    -out : 사설 인증서의 저장(발급) 위치 및 파일명 선택-days : 발급된 인증서의 유효기간 (사설인증서라 유효기간의 의미가 사실 불필요. 어짜피 경고창이 뜨기때문....)
  7. 발급된 인증서 iis.cer 을 윈도우 서버에 업로드 함

다시 윈도우서버에서...


  1. IIS 관리자 > 기본 웹사이트 > 디렉토리 보안 > 서버인증서 > 인증서 마법사 창이 뜨면 다음을 클릭한다.

  2. 대기 중인 요청을 처리한 다음 읹으서를 설치합니다 선택 후 다음 클릭

  3. 리눅스 서버에서 발급한 사설인증서를 선택

  4. SSL 서비스 포트를 선택 (기본 443으로 설정)

  5. 설정 내용 확인 후 다음 클릭

  6. 마침 클릭

  7. 기본 웹사이트 등록 정보에서 SSL 포트를 "443"으로 설정 한 후 IIS 서비스 재시작