lawfully.kr
한 미국 변호사의 서랍

머리도 없고 종이도 없는 업무 환경

2017년 08월 9일


얼마전 아이패드프로를 질렀다. 10.5인치이다.

과거에도 아이패드를 사용했기 때문에 사실 큰 기대는 하지 않았었지만 – 나는 아이패드는 소비용이지 생산용이라고 생각하지 않았었다 – 아이패드 프로는 좀 달랐다. 그래서, 심각하게 내 업무환경을 이걸로 바꾸어 볼까 생각하고 있다. 몇 달 써 본 느낌은 어떤 점에서는 이제 사실상 노트북이나 데스크탑 컴퓨터가 필요없다는 생각까지 들었다.

그렇지만, 나는 나름대로 꽤 까다로운 기호에 맞추어 업무환경을 구성해 놓았기 때문에 이걸 아무 무리 없이 아이패드 프로로 옮기는 것이 사실상 쉽지는 않았다. 그래서, 한 번 해 보기로 했다. 목표는 이것이다:

  • 머리 없는 업무 환경: 아이패드 외에는 컴퓨터를 사용하지 않는다. 한 발 후퇴해서, 오로지 머리없는 컴퓨터 즉 모니터, 키보드, 마우스 등등이 없는 컴퓨터를 사용하자.
  • 종이 없는 업무 환경: 종이를 사용하지 않는다. 나무를 살린다. 환경을 살리고 지구를 구한다. 이미 책은 거의 안사고 있다.

코다 지르기: 24.99달러

일단 필요한 앱은 코다이다. 가격은 좀 비싸지만 (자그마치 24.99달러), 그만한 가치가 분명히 있는 소프트웨어이다. 아이패드는 아주 훌륭한 모니터이다. 내 업무 환경은 조금 까다롭지만 머리없는 컴퓨터 즉 모니터, 키보드, 마우스 등등이 없는 컴퓨터를 하나 만들어서 코다로 접속하는 것으로 웬만한 데스크탑이나 서버 못지 않은 환경을 만들 수 있을 것이다. 일단 코다를 샀으면, 다음에는 머리 없는 컴퓨터를 하나 구해 보자.

혹시 돈이 없어서 이렇게 비싼 것은 못사겠다고 생각한다면, 대체품으로 쓸 수 있는 것은 … 좀 까다롭다. 왜냐하면 코다는 ssh 쉘 로그인뿐 아니라, sftp 등을 통한 파일 관리 및 편집기의 기능을 모두 하는 프로그램이기 때문이다. 이 중에서 ssh만 하는 훌륭한 공짜 프로그램에는 termius가 있다.

클라우드 지르기: 일단 무료

우선 시도해 본 것은 네이버의 ncloud이었다. micro 서버를 사용하면, 일년동안 무료로 써볼 수 있다. 메모리 1G, 디스크 50기가이다. 한 번 써 보았는데, 좀 실망했다. 속도가 느리고, 자주 끊겼다. 자주라고 하면 좀 심한 표현이다. texlive를 설치하다가 몇 번 끊겼다는 것이다. 좀 피곤하긴 했다. 그렇지만, 무료로 이걸 사용하느냐, 아니면 한 달에 26,000원을 내고 메모리 2G짜리를 사용하느냐 하는 것은 좀 어려운 선택이긴 하다.

이 외에도 아마존 AWS 클라우드 또는 구글 클라우드 또는 알리바바클라우드 등등에서 선택할 수 있다. 대개의 경우 한 1년 정도는 그냥 사용할 정도의 크레딧을 준다. 그러므로, 일단 무료이다. 그렇다고 다 만들 필요는 없다. 하나씩 일년씩 돌아가면서 사용하면 4년은 그냥 쓸 수 있다. 선택하는 요령은 나중에 다시 정리해 보겠다.

우선 어디에 가더라도 지금 선택할 것은 소위 compute 라는 것이다. 가상 컴퓨터 내지는 서버이다. 실험용으로 해 보는 거라면 가장 싼 것을 선택하면 된다. 적어도 메모리 1G는 필요할 것이다. 클라우드 가격정책이 너무 헷갈려서 고민한다면, 클라우드 관련해서 여러분이 내는 돈 (초기에는 0원)의 80–90 퍼센트는 (즉 초기에는 0원) 이 가상컴퓨터에 들어간다고 보면 된다. 클라우드 관련 총비용이 3만원 들었다면, 그 가운데 2만원에서 2만5천원은 여기에 들어간다.

ncloud 설정

먼저 네이버의 경우에는 두 가지를 설정해 주어야 한다. 아니 세 가지이다. 첫째는 포트포워딩이고 둘째는 ACG라는 것이고, 셋째는 루트 비밀번호이다. 순서대로 해 보자. ncloud 설명서를 읽고 그대로 해도 좋다. 왜 이런 번거로운 과정이 필요하냐하면, ncloud는 공인 IP와 비공인 IP가 있기 때문이다. 즉, 내부적으로 사용하는 주소가 있고, 외부적으로 (인터넷에서) 사용하는 주소가 있다. 외부적으로 사용하는 주소만이 사실상 중요한 주소이다. 혹시나 ncloud 데이터 센터에 들어가거나, 아니면 수십 개의 서버를 돌리거나 아주 고상하고 중요한 일을 하지 않는다면…

요약하자면, ncloud에서 포트포워딩 설정은 사실상 포트를 설정하는 것이라기보다는 인터넷 주소를 설정하는 것이다. 쉽게 집에 있는 공유기 설정할 때와 비슷하다고 보면 된다. 어쨌건, 설정 화면에 들어가 보면 공인 IP와 비공인 IP는 미리 결정되어 있다. 다만 외부포트만 지정해 주면 된다. 네이버에서는 1024 – 65,534 사이의 번호를 고르라고 한다. 쉽게 말하자면 ssh 접속을 위한 실제 번호는 22 번인데, 공인 IP의 지정한 포트포워딩 번호를 밖에서 선택하면 공인 IP의 지정한 번호와 비공인 IP의 22 번을 같은 것으로 취급하게 한다는 뜻이다. 예를 들어, 1234로 결정했다고 하자. 밖에서 1234를 선택하면, 안에서는 22로 간다는 뜻이다.

이걸 지정하고 나면 ACG를 설정해야 한다. 한 마디로 방화벽이라고 이해하면 된다. 여기에 적어도 TCP/22 는 허용해야 된다는 뜻이다. 그래야 외부에서 로그인할 수 있다. 그렇게 해 보자. 혹시 웹서버나 그런 것을 하려면 다시 이것을 수정해야 한다.

마지막으로, 관리자 비밀번호를 설정한다. 이것을 위해서는 아까 클라우드를 설정할 때 인증키 파일 (pem 으로 끝나는 파일)을 다운로드받아 두어야 한다. 이것을 첨부해서 보여주면 관리자 비밀번호가 나온다. 일단 이렇게 하고 나면 다음과 같이 ssh로 로그인할 수 있다. 아래에서는 공인 IP가 202.230.123.234이고, 포트포워딩으로 지정한 포트가 1234라고 해 보자.

$ ssh -p 1234 -l root 202.230.123.234

아까 알아 낸 비밀번호를 입력하면 로그인할 수 있다. 일단 비밀번호를 바꿔 보자.

# passwd

그리고, 이제는 비밀번호가 필요 없도록 설정해 보자.

ssh 로그인 설정

하여간 본격적으로 설정을 시작해 보자. 맨 먼저 로그인을 편하게 해야 한다. 우선 데스크탑에서 해 보고, 성공하면 그걸 아이패드에서 해 보는 것이다.

$ ssh-keygen -t rsa -b 4096 -C "my_email@server.com"

이건 이미 만들어 두었다면 건너뛰어도 좋다. 몇 번 엔터를 치고 나면 .ssh 디렉토리에 id_rsa 파일과 id_rsa.pub 파일이 생긴다. 이걸 ncloud 서버로 복사하자.

$ ssh-copy-id root@220.230.123.234

물론, 이것을 하기 위해서는 팩스워드를 입력해야만 한다. 그렇지만, 이렇게 한 번만 하고 나면 다시는 패스워드를 입력하지 하지 않아도 좋다. 이 명령을 통해 아까 만들어 둔 id_rsa.pub의 내용이 서버로 복사된다. 구체적으로는 .ssh/authorized_keys 파일에 복사된다. 해 보자.

$ ssh -p 1234 -l root 202.230.123.234

패스워드가 필요 없어졌다. 인생을 조금 더 편하게 하기 위해서 다음과 같이 (서버 아닌 컴퓨터에) 설정해 보자. 먼저 .ssh/config 파일을 찾거나, 없으면 만든 다음 다음과 같이 넣어 보자.

HOST ncloud
     HostName 220.230.123.234
     Port 1234
     User root
     IdentityFile ~/.ssh/id_rsa

그 다음부터는 앞에서처럼 옵션이 붙은 긴 명령이 아니라, 다음과 같이 치면 된다. 로그인아이디를 옵션으로 붙이지 않아도 되고 (참고로 이 옵션을 쓰지 않으면 로컬 컴퓨터 로그인 아이디와 같은 것으로 가기 때문이다), 복잡한 주소를 붙이지 않아도 된다. 다음과 같이 하면 된다.

$ ssh ncloud

훨씬 낫다.

코다에서 ssh 로그인 설정

이것은 앞에서처럼 id_rsa 키를 만들어서, 그 가운데 id_rsa.pub 파일을 서버로 보내는 동일한 과정이다. 다만, 아이패드이므로 명령어가 아니라 메뉴 선택을 통해 한다. 설정에서 keys를 선택한 다음 맨 위의 + 표시를 통해 새로 id_rsa 키를 만들 수 있다. 그 다음에는 public key를 메모리에 저장한다. 그 다음에는 코다에서 연결한 다음, (숨은 파일 표시를 선택하여) 위에서와 같이 authorized_keys 파일을 선택하고, 기존에 있는 키의 다음줄에 이것을 붙여 넣는다. 로그아웃한 다음에 다시 로그인해 보자.