Notice
Recent Posts
Recent Comments
11-15 14:23
관리 메뉴

Black&White

mRemoteNG 에서 Logon Script 사용가능하게... 본문

유용한정보

mRemoteNG 에서 Logon Script 사용가능하게...

V.E.N 2011. 10. 14. 11:51
Multi-Tabbed 터미널 콘솔 프로그램으로 소개한적이 있는 mRemoteNG 에 대해 항상 아쉽게 여기던 것이 바로 Login Script 사용이 안된다는 것이다.
즉, 일반사용자 계정에서 관리자 계정으로 자동 접속되게 하기 위한 기능이 없다는 것이다.
Putty Connection Manager(PCM) 과 SecureCRT 라는  터미널 콘솔 프로그램에서는 지원이 되기는 하지만, SSH 프로토콜에 대해서만 지원이 되는 한계가 있고, SecureCRT 는 유료프로그램이라는 제한이 있다.

나의 경우, 윈도우 서버도 관리해야되고, 여러 유닉스 계열의 서버도 운영해야되기에 mRemoteNG 를 불편을 감수하면서 사용해왔는데, 해결 방안을 찾을 수 있게 되어 이렇게 정리하게 되었다.

mRemoteNG 는  SSH 콘넥션을 위해 putty 를 사용한다.
하지만, putty 는 login script 를 지원하지 않는데, putty 의 folk 프로그램인 kitty 가 지원하고 있다.


우선적으로 알아야될 사항이 있다.

putty kitty 의 session 이 저장되는 위치가 다르다는 것이다.

putty session 저장위치는 아래 레지스트리에 키값으로 존재한다.
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY
kitty 의  session 이 저장되는 위치는 kitty 설치된 하위폴더에 session 이라는 폴더에 존재한다.

STEP 1>
1. kitty 의 portable 버전을 다운받는다.

2. mRemoteNG 가 설치된 디렉토리에 kitty_portable.exe 를 넣는다.

3. mRemoteNG 를 실행후, 메뉴에서 Tools-Options 를 선택하여 옵션창을 연다.

4. 옵션창에서 advanced 를 선택하여 'Use Custom Putty path' 에서 kitty_portable.exe 를 선택한다.



STEP 2>

1. Logon_Script 작성하기
mRemoteNG 가 설치된 디렉토리에 Logon_Script 라는 디렉토리를 생성한다.

텍스트파일로 Login script를 작성한다.
로긴스크립트로 단순히 , su 명령을 이용하여 root 계정으로 접속되게 함이므로 아래와 같이 텍스트파일을 작성한다.
Password:
root패스워드

관리해야될 서버가 여러대 인경우, 이런식으로 각각의 로긴스크립트 파일을 작성해준다.

2. Session 만들기
mRemoteNG 디렉토리에 옮겨놓은 kitty_portable.exe 실행한다.
로그파일설정, Windows color 설정등과 함께 login_script  설정을 한다.

로그파일설정의 경우,
mRemoteNG  디렉토리에 putty_logs 라는 디렉토리가 이미 존재하고 있다.
이 위치로 로그파일을 생성하도록 설정하는데, 년월일시, 호스트네임등을 파일네임으로 지정할 수 있다.
아래와 같이 로그파일의 이름을 지정한다.
      putty_&H_&Y-&M-&D.log

한가지 주의해야될 사항은, 'What to do if the log file already exists:' 에서 Ask the user every time 은 선택하지 않는 것이 좋다. login script 가 제대로 동작하지 않을 수 있기 때문이다.



Windows color 의 경우, 기본색상이 맘에 들지 않는다면 설정을 변경한다.
글자색을 하얀색으로 변경하기 위해서는 'Default Foreground' 의 RGB 값을 255,255,255 로 설정한다.
배경색을 블루로 변경하기 위해서는 'Default Background' 의 RGB 값을 0, 52, 129 로 설정한다.

login_script 설정의 경우,
category 의 connection - Data  를 왼쪽 트리에서 선택하고
Command 에 'su - ' (작은 따옴표 무시)
Login script file 에 아까 미리 작성해둔 login script 텍스트 파일을 선택한다.



3. session 저장하기
category 의 session 을 선택하고,
saved sessions 에 세션이름을 입력후 save (d) 를 클릭한다.
이렇게 저장된 세션은 mRemoteNG 디렉토리내 sessions 디렉토리에 저장된다.


4. mRemoteNG 에서 putty_session 지정하기
이렇게 login_script  와 kitty session 을 만들었지만, 이게 다가 아니다.
안타깝게도 mRemoteNG 에서 Connections 목록에서 연결항목의 Config 부분에 Putty_session 선택시,
위에서 방금 만든 kitty_session 은 Putty_Session 목록에 나오지 않는다. 위에서도 말했듯이, putty 의 세션은 레지스트리에 저장되고, mRemoteNG 에서는 바로 그 레지스트리값을 읽어오기 때문이다.

이 문제를 해결하기 위해서는 아래 방법대로 한다.

mRemoteNG 디렉토리에 보면, confCons.xml 파일이 존재한다.
confCons.xml 파일이 mRemoteNG의 설정파일이다.
이 파일을 메모장으로 연다.
CTRL+F 를 눌러 'PuttySession' 을 찾는다.

Connections 에 1개 이상의 node 가 등록되어 있다면, 'PuttySession' 이 그 node 수 만큼 있으므로,
변경하고자 하는 node 의 'PuttySession' 을 찾아야 한다.

이렇게 찾은 'PuttySession' 의 값을 위에서 저장했던 kitty session 의 이름으로 바꿔준다.
디렉토리 경로까지 입력하지 않아도 된다. 즉, mRemoteNG 설치디렉토리밑에 session 디렉토리에 저장되어 있는 파일의 이름을 적어주면 된다.

이제,

mRemoteNG 를 재시작하면 된다.

이제 일반사용자 계정으로 접속후, root 관리자 계정으로 다시 한번더 로그인해야 되는 수고로움을 덜 수 있게 되었다.




Comments