구름 반값/성능두배! & 구름에서 VNC를?

구름IDE 로고 클라우드형 코딩 서비스 구름

설치가 필요 없는 클라우드 통합개발환경에 당신의 아이디어를 쏟아내세요! 클라우드 통합개발환경 – 구름IDE

기존에 Java를 공부하려면 Eclipse부터, C나 C++등을 공부하려면 Visual Studio부터, Python을 공부하려면 Anaconda부터 설치해야 했던 기억들이 납니다. 이걸 매일 해야하는 곳이 있습니다. 군부대라고…

그래서 오늘은 웬 메일이 한통 와있더군요. 구름이 새롭게 바뀐 가격 정책을 내일(4/19)부터 선보인다고 합니다.

변경된 구름IDE 가격 정책

정말 신나는군요. 이제 결제하고 코딩만 하면 되겠군요! …그런데 잠시만, 그래도 한번씩 써본지라, 개인적으로 생각한 장단점 대표적으로 몇가지만 끄적여봅니다.

구름의 장단점?

Q. 장점?

A. 아무래도 클라우드 서비스이다 보니까, 공유기능이나 코드 같이 수정하기각종 단축키 지원Markdown 자체 지원SSH 원격접속 기능 지원디버깅 지원, 그리고 무려 채팅 기능 지원! 이정도겠네요. 쓰면서 신나는 타이핑도 나쁘지않은 기능인거같네요. 지루하지 않을뿐

Q. 단점?

A1Linux입니다. 아무래도 Windows에서 많이 작업하시다가 Linux에서 개발환경을 접하게 되면 조금(많이) 당황스러우실 수도 있습니다. 이점 참고하세요. A2컴파일링이 조금 귀찮습니다. 마찬가지로 리눅스라서 그런것도 있기는 한데, 초기 Java 컨테이너나 Python 컨테이너를 생성한 뒤에, 뭔가 하나 새로 만들려고 하는데 컴파일 위치지정 등이 Windows에서 하던 것보다(비교적) 상당히 귀찮더군요. (와중에 Jupyter Notebook용으로 쓰는것도 나쁘지 않을것 같네요)

결론

저는 뭐 구름 홍보대사도 아니고, 그냥 일개 군인에 불과할 뿐입니다. 다만 같은 처지에 놓이신 프로그래머or컴공생 여러분들에게는 좋은 정보가 되길 바랄 뿐이겠네요. 하핳.

추가로! VNC도!

제가 구름 컨테이너 쓰면서 이것저것 괜찮은 스크립트를 만들어봤었네요. Linux 환경이다 보니까 VNC로 데스크톱 환경을 구현할 수 있는데, 이것저것 시도하시기에 시간이 없으신 여러분들께! 제가 미리 만들어놓은 스크립트들을 공개합니다.

Ahnlab Safe Transaction(ASTx) 가지고 원격 뱅킹 이용하기

항상 뱅킹할때마다 사지방에 Gpg4win 깔고, 개인키 깔고, 서명된 인증서 받고 할려니까 정말이지 너-무 귀찮아졌습니다.

그래서 한번은 원격으로 뱅킹을 해보려고 했는데 이녀석이 자꾸 RDP를 강제 종료시키는 바람에 무산되어버린 기억이 있습니다. 그렇게 제 기억속에는 RDP나 Teamviewer나, 각종 원격 Application들은 ASTx가 있는 환경에서는 어쩔수가 없구나, 하고 포기해버렸습니다. 그런데…

그런데, 그게 말입니다.

얼마전 찾아본 블로그(익스트림 매뉴얼)에 그 답안이 있었던 겁니다! 다시 정리해서 한번 끄적여 봤습니다.

1. 준비물

  • ASTx 설치 파일 (국민은행에서 다운로드: 링크)

2. ASTx 설치

먼저 ASTx를 설치하기에 앞서…

모든 Chrome 창과 Internet Explorer 창을 닫아야만 합니다!

왜냐면, 만에 하나 은행 사이트가 열려있게 된다면 그 즉시 사망RDP가 접속 차단됩니다. 이점 꼭 주의하세요.

바로 다운로드한 ASTx를 설치합니다. 계속 다음을 눌러주시면 설치가 완료되고, 작업 표시줄에 아이콘이 하나 생기게 될겁니다.

Ahnlab Safe Transaction
ASTX 메인 메뉴

애증의 AhnLab 오른쪽 마우스로 클릭 후에, 환경설정으로 들어갑니다.

ASTX 설정 페이지

아래와 같이 원격 접속 차단에 체크를 해제한 뒤, 시작 유형을 자동 시작 안함으로 해두셔야 ASTx가 메모리를 많이 소비하는 것을 방지할 수 있습니다. 오른쪽 닫기를 누른 뒤, 다시 오른쪽 마우스로 아이콘 클릭 후 끝내기를 눌러 종료해주세요.

3. 뱅킹 쓸땐?

자동 시작 안함으로 설정했으니, 가끔아니, 대부분 안되는 경우가 생깁니다. 이럴 땐, 시작 메뉴에서 Ahnlab Safe Transaction을 직접 실행시켜주면 됩니다.

ASTX 시작메뉴 엔트리

누군가에겐 좋은 팁이 되었으면 좋겠네요.

Let’s Encrypt로 와일드카드 인증서 발급하기

Let’s Encrypt는 자동화된 무료 공인 인증 기관(CA)입니다(Let’s Encrypt is a free, automated, and open Certificate Authority).

기존 Let’s Encrypt 사용자 여러분들에게 특별한 소식입니다. 무려 Wildcard Certificate1를 지원한다는 소식( 원문보기)이죠!

ACMEv2가 Production으로 공식 지원된지는 지난 3월 13일부터 벌써 한달이 다 되어가는데, 아직 한국에는 관련한 소식을 접할 수가 없네요. Let’s Encrypt 공식 포럼에서 관련한 내용을 접할 수 있었습니다.

1. 준비물

그럼 본론으로 들어가서 준비물을 알아보도록 하겠습니다.

  • Certbot ( >= 0.22.0)
  • 갱신할 도메인 주소 (e.g. blending.kr)
  • 도메인 공급업체 또는 DNS 관리업체 로그인 계정 (e.g. 가비아dnsever, 또는 개인 DNS 서버 bind9 등)

여기서는 blending.kr, *.blending.kr 주소의 와일드카드 도메인을 개인 도메인 서버 bind9를 이용해 발급받는 것을 목표로 시작합니다.

개인 도에인 공급업체에서 해당 내용을 변경하기 위해서는, 각 도메인 관리자 사이트에서 아래와 동일하게 DNS TXT 레코드를 변경하시면 됩니다.

2. 구성요소 확인

먼저 설치된 Certbot이 최신 버전인지 확인합니다.

> certbot --version
certbot 0.22.2

버전이 0.22.0 이상이라면 다음으로 넘어가도 좋습니다.

3. DNS-01 challenge 준비

certbot을 이용하여 다음과 같은 명령어를 관리자 권한(root)으로 입력합니다.

> certbot certonly \
        --manual \
        --preferred-challenges dns-01 \
        --server https://acme-v02.api.letsencrypt.org/directory \
        -d *.blending.kr \
        -d blending.kr

해당 명령어는 dns-01 challenge를 이용하여 수동 발급 요청을 ACMEv2 서버로 전송합니다. 아래와 같이 “IP 로그를 활성화할 것이냐”라고 물으면 Y를 입력하고 넘어갑니다.

Performing the following challenges:
dns-01 challenge for blending.kr
dns-01 challenge for blending.kr

-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
-------------------------------------------------------------------------------
(Y)es/(N)o:

다음으로, 생성된 DNS TXT 레코드를 메모장 같은 곳에 임시로 적어둡니다. 다음 단계에서 TXT 레코드에 추가할 내용입니다.

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.blending.kr with the following value:

<TXT 값 1>

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.blending.kr with the following value:

<TXT 값 2>

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

위의 경우 Press Enter to Continue가 한번 뜨면 Enter를 눌러주셔아만 두번째 TXT값이 뜹니다.

두 번 이상 계속하면 DNS TXT값 없이 Challenge를 진행하게 되므로 오류가 발생하므로, 한번만 눌러서 위와 같이 만들어 주셔야 합니다!

4. DNS 레코드 수정

여기서는 bind9의 설정 파일을 수정해 DNS TXT 레코드를 추가해 보도록 하겠습니다. 파일 위치는 시스템 설정마다 다를 수 있으므로 참고하시기 바랍니다.

> sudo vi /etc/bind/zones/db.<도메인명>
840x1010

위와 같이 <TXT 값 1>과 <TXT 값 2>를 넣어주고, serial 부분을 업데이트(e.g. 2018040701) 해준 뒤, [ESC], :wq!를 입력하여 빠져나와 다음과 같이 DNS 설정을 적용시켜줍니다.

> sudo service bind9 restart

5. DNS TXT 레코드 적용여부 확인

직접 확인하는 방법은 dig 명령어를 이용해 가능합니다.

> dig +noall +answer _acme-challenge.blending.kr txt
_acme-challenge.blending.kr. 604800 IN  TXT     "<TXT 값 1>"
_acme-challenge.blending.kr. 604800 IN  TXT     "<TXT 값 2>"

위와 같이 TXT값이 나타났다면 성공! 그렇지 않은 경우 업데이트가 안되었다는 것이니 4번의 설정이 잘 저장되고, 다시 로드되었는지 확인해볼 필요가 있겠네요.

6. 적용된 DNS TXT 레코드로 Challenge 마무리

아까의 터미널 창으로 돌아가, Enter만 눌러주면 모른 동작이 완료됩니다.

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/blending.kr/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/blending.kr/privkey.pem
   Your cert will expire on 2018-07-06. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

이제 SSL 인증서가 모두 Wildcard로 작동할 것입니다. 기존처럼 길게 -d <도메인명> -d <도메인명2> -d <도메인명3> ... 이런식으로 진행하지 않아도 되겠군요.

7. 아쉬운 마무리.

이렇다할 인증 과정이 필요한 이유는 아직까지는 ACMEv2 인증이 DNS-01 챌린지밖에 지원하지 않기 때문입니다. 다른 인증밥업을 지원했더라면 쉽게 할 수도 있겠네요.

그런데, 무엇보다도 certbot renew 가 안됩니다. 뭐든 수동으로 해야합니다.

아쉽게도 이런 과정을 자동화할 스크립트가 필요하겠네요. 직접 만들어볼까 하는데 얼마나 시간이 걸릴 지는 모르겠네요. 하하.

긴글 따라오시느라 수고하셨습니다. 다음에는 아무래도 이러한 과정을 쉽게 자동화할 수 있는 스크립트를 구상해올께요.

  1. Wildcard Certificate(와일드카드 인증서)란 기존 home.domain.kr, wiki.domain.kr 등 각 subdomain(home, wiki)에 한정적으로 1개씩 가능했던 것이 *.blending.kr처럼 모든 서브도메인에 발급받는 것이 가능한 SSL 인증서입니다. 

WinAuth를 이용한 OTP 관리

오늘은 WinAuth라는 Windows용 Application을 소개해볼까 합니다.
기존 스마트폰에서 사용하던 Google OTP를 대체할 수 있는 Open Source Desktop Application입니다. 가끔씩 스마트폰 없이 PC나 노트북만으로 OTP가 필요한 작업을 해야 할때 광-장히 유용하더군요.

423x500 

처음에는 인증 과정이 필요합니다. Add를 누른 다음, 필요한 OTP Provider를 선택한 뒤 각 발급자가 제공하는 Secret Key를 입력하시면 됩니다.

400x317