뭘 이런걸..

Posted
Filed under Tech/안녕리눅스
이미 추가된지는 오래된 패치들이기는 하지만, 따로 announce를 하지 않아 모르는 분들이 많은 안녕 리눅스만의 패치에 대한 글들을 포스팅 해 보려고 합니다.

오늘 첫번째로는 안녕 리눅스에 포함된 openssh의 추가 사항을 보도록 하겠습니다.

1. Skip host key check

보통 ssh로 접속할 때 ssh client는 접속할 host에서 host key를 받아서 ~/.ssh/known_hosts 파일에 기록을 해 놓습니다. 이 이유는, 오타로 다른 호스트에 접근을 하거나 또는, 어떤 host가 자신을 접속하려는 host라고 속이는 것을 방지하기 위함이 목적입니다. 그러므로 접근 하려는 호스트가 known_hosts 파일에 등록이 되어 있지 않을 경우 다음과 같이 confirm을 하게 됩니다.

[root@work ~]# ssh domain.com
The authenticity of host 'domain.com (12.0.0.1)' can't be established.
RSA key fingerprint is fe:de:8d:34:27:82:7c:42:09:16:0f:34:33:dd:72:d9.
Are you sure you want to continue connecting (yes/no)?


참 좋은 기능임에는 틀림이 없으나, ssh notty를 이용하여 여러 서버에 동일한 명령을 내리기 위해서 script같은 것을 사용할 때, 이게 걸리면 무지하게 불편합니다. 300대의 서버에 명령을 내리려면.. 300번 엔터를 입력해야 하니까요...

그래서 안녕 리눅스에서는 -H 옵션을 제공해서, known_hosts에 등록이 되어 있지 않으면, 물어보지 않고 등록을 하고, confirm 부분을 skip 할 수 있도록 지원하고 있습니다.

[root@work ~]# ssh -H domain.com
LInux AnNyung release 1.3R5 (Indongcho)
Login domain.com in 20:04 on Friday, 02 October 2009
root@domain.com's password:


키 등록을 해 놓았다면, 패스워드도 물어보지 않고 로그인이 되겠죠. :-)


2. 한글 도메인 사용

안녕 리눅스에는 multibyte domain에 대한 패치가 많이 되어 있습니다. 보통 multibyte 도메인을 사용하기 위해서는 브라우저 외의 경우에는 puny code로 변환된 도메인을 사용해 주어야 합니다. 하지만 안녕 리눅스의 왠만한 application(nslookup, dig, host, ssh 등..)들은 내부적으로 패치가 되어 있어 multibyte domain을 직접 사용할 수 있습니다.

[root@work ~] ssh 안녕리눅스.com
LInux AnNyung release 1.3R5 (Indongcho)
Login 안녕리눅스.com in 20:04 on Friday, 02 October 2009
root@안녕리눅스.com's password:



3. sftp 에서 readline 제공

안녕 리눅스의 sftp에는 readline 기능이 패치되어 있습니다. sftp 접속을 하신 후에, 디렉토리 이동을 하신 후에, 화살표 상/하를 움직여 보시면, 이전에 실행한 명령의 history를 보실 수 있고, 실행하실 수 있습니다. tab기능도 구현을 하려고 했으나, 쉽지 않더군요. 그래서 이건 보류해 놓았습니다.


3. Banner Magic Cookie 지원

openssh는 sshd_config의 Banner 에 지정된 파일을 login전에 출력해 주며, login 후에는 /etc/motd파일을 출력합니다. 기본적으로 original openssh는 magic cookie를 지원하지 않습니다만, 안녕 리눅스의 경우

[root@work ~]# ssh domain.com
LInux AnNyung release 1.3R5 (Indongcho)
Login domain.com in 20:04 on Friday, 02 October 2009
root@domain.com's password:


와 같이 Banner에 지정된 /etc/issue.net과 /etc/motd 에서 magic cookie를 사용할 수 있도록 수정이 되어 있습니다. 지원하는 Magic Cookie의 경우는 다음과 같습니다.

\t, \d - 현재 시간과 날자를 출력
\h, \n - 시스템의 노드명(FQDN)을 출력
\s - 운영체제의 이름을 출력
\m - 하드웨어의 유형을 출력
\r - 운영체제의 릴리즈를 출력
\v - 운영체제의 버전을 출력
\\ - '\' charactor 를 출력



이상 오늘은 안녕 리눅스가 다른 배포본과 어떤 차이점이 있는지 포스팅을 시작했으며, 그 첫번째로 openssh를
살펴 보았습니다. 시간이 나는대로 계속 다른 기능을 소개하도록 하겠습니다.
2009/10/02 20:33 2009/10/02 20:33