My Knowledge

테라텀 매크로를 이용한 자동 로그인 (TeraTerm Macro) 본문

Application

테라텀 매크로를 이용한 자동 로그인 (TeraTerm Macro)

행복한하루 2007. 11. 13. 23:54
이번에 말씀드릴 것은 Tera Term의 Macro 기능 (테라텀 매크로)을 이용해서 자동으로 로그인을 시켜 주는 방법 입니다.

보통 Unix / LInux 같은 서버에 접속해서 작업을 하는 경우에 여러가지 client 프로그램들을 이용하여 작업을 진행하게 되는게, 제 경우에는 Tera Term 이라는 프로그램을 많이 사용 했었습니다.

이미 나온지는 상당히 오랜 된 프로그램인데, 사용하기도 편리하고 기능도 다양하게 있어 좋습니다. (아직까지도 많은 분들이 사용하고 있는 것으로 알고 있습니다. ㅎㅎ )

그리고 다른 Terminal 프로그램들과는 달리 Freeware (프리웨어) 라는 점이 또 하나의 큰 장점입니다.

(테라텀은 공식 홈페이지에서 무료로 다운 받으실 수 있습니다.
아래가 해당 사이트의 링크 주소 입니다.
http://hp.vector.co.jp/authors/VA002416/teraterm.html)

앞서 잠깐 언급했듯이 TeraTerm의 다양한 기능중에 개발자 분들이 편리하게 사용할 수 있는 것이 매크로 기능입니다.

특히 여러 서버에 접속해서 작업을 하시는 분들은 로그인 하는 부분을 매크로로 만들어 놓으면 편리하게 이용하실 수 있습니다.

아래는 자동 로그인을 위하여 만든 테라텀 매크로 입니다.

 ; Sample macro for Tera Term
 ; Telnet login
 
 ; open Tera Term
 ; command line = 'TERATERM myhost.mydomain' (telnet)
 connect '1.1.1.1 23'
 
 ; set username
 UsernamePrompt = 'login:'
 Username = 'yourid'
 PasswordPrompt = 'Password:'
 ; get password from file
 getpassword 'password.dat' 'Server_Login' Password
 
 ; login
 wait   UsernamePrompt
 sendln Username
 
 wait   PasswordPrompt
 sendln Password

 ; set title
 settitle 'Server'


위소스에 대해서 간단히 설명 드리자면 아래와 같습니다. 그리고 ';' 표시는 comment 입니다. (';' 뒤에 있는 것들은 실행되지 않습니다. ^^)
  • connect '1.1.1.1 23' => 1.1.1.1 서버로 port 23으로 연결하라는 의미입니다. (port 23이니깐 여기서는 telnet을 의미합니다. 회사에서 쓰시는 서버의 주소를 넣으시면 됩니다.)
  • UsernamePrompt = 'login:' => 리눅스 / 유닉스 서버에 접속할 때에 일반적으로 userid을 넣기 위한 prompt 로 쓰이는 것이 login 입니다. 그래서 여기서는 login 이라고 씁니다.
  • Username = 'yourid' => 보시는 대로 본인의 user id를 넣으시면 됩니다.
  • PasswordPrompt = 'Password:' => 이것도 UsernamePrompt와 마찬가지입니다. 서버에 접속해서 user id를 넣고 나면 password를 물어 보는데, 그 때 쓰이는 prompt 가 Password: 라는 의미 입니다. 여기서도 본인의 password를 넣으시면 됩니다.
  • getpassword 'password.dat' 'Server_Auth' Password => 이 예제에서는 패스워드를 password.dat 라는 파일에 보관합니다. 그래서 해당 파일에서 Server_Auth 라고 되어 있는 부분의 패스워드를 읽어 오라는 의미 입니다.
  • wait UsernamePrompt => 접속 하고 나서 'login:' 이라고 나올 때까지 기다리라는 의미 입니다.
  • sendln Username => 앞서 정의한 username을 입력한다는 의미입니다.
  • wait PasswordPrompt => 'Password:'라고 나올 때 까지 기다리라는 의미 입니다.
  • sendln Password => 앞서 정의한 password를 입력한다는 의미입니다.
  • settitle 'Server' => Teraterm 프로그램의 위쪽 표시하는 곳에 나타낼 문자 입니다. 보통은 서버이름을 적어 놓아 이용합니다.

위 소스 파일을 편집기를 이용해서 .ttl 파일로 만드시면 됩니다. (여기서는 test.ttl로 하겠습니다.)

그리고 Tera Term 메뉴에서 Control -> Macro를 실행 시키면 파일 목록들을 보실 수 있습니다. 여기서 만들어 놓은 test.ttl 이 있는 곳으로 이동하여 실행 시키시면 됩니다. (주의 : 이미 어떤 서버에 접속되어 있는 경우에는 매크로가 실행되지 않습니다.)

사용자 삽입 이미지

테라텀 매크로 실행 메뉴


이렇게 실행을 시키시면 서버 연결 후 userid가 입력 되는 것을 보실 수 있습니다. 그리고 아래와 같이 Password 입력 창이 뜹니다. 여기서 본인의 password를 입력하시면 됩니다. (이건 한번만 실행됩니다. password가 한번 저장되면 그 다음부터는 이 절차 없이 바로 로그인 됩니다.)

사용자 삽입 이미지

패스워드 입력화면

이렇게 해서 password가 저장되면 password.dat 라는 파일이 생성됩니다.

이 파일을 편집기로 열어 보시면 아래와 같이 Server_Login 옆에 password가 저장되어 있는 것을 볼 수 있습니다. 나중에 패스워드가 바뀌었을 경우에 이 줄을 지우시면 다시 위의 패스워드 저장 절차가 진행되어 update 하실 수 있습니다.

 [Password]
 Server_Login=+-167fghdhbhkdBdjekd


이상 Tera Term 매크로를 이용하여 서버에 자동 로그인 하는 방법이였습니다.

개인적으로는 상당히 유용하게 사용하고 있습니다. ^^
많은 도움이 되었으면 합니다.

참고 :
이 글은 Tera Term 2.3 (테라텀) 에 대한 글입니다. 그리고 아시는 분은 이미 아시겠지만 TeraTerm 4.55 가 나와 있습니다. 소개글을 보고 싶으시면 아래 링크를 클릭 하세요.
(Link : Tera Term Pro 4.55 (테라텀 프로 4.55) )