이 글에서는 TeraTerm에서 공개키 인증(Public Key Authentication)과 명령줄 인터페이스(Command line interface)를 활용해 간편하게 원격 SSH 서버에 접속하는 단축 아이콘을 만드는 방법에 대해 다룬다.
더 나아가, 단축키(예: [Ctrl]+[Alt]+[T])로 TeraTerm을 띄우고 원격 SSH 서버에 자동으로 접속해서 바로 셸을 띄우는 AutoHotkey 스크립트를 작성하는 방법도 함께 소개한다.
RSA Key Pair 생성
우선 이 글을 참조해서 Windows Client에서 RSA Key Pair를 생성하고, 원격 서버의 authorized_keys에 공개키를 등록한다.
※ authorized_keys파일의 권한을 600으로 설정하는 것을 잊지 않도록 주의한다.
SSH 자동접속 Batch 스크립트 작성
적당한 경로에 다음과 같이 Batch 스크립트를 작성하고, 작성한 스크립트에 대한 단축 아이콘(바로가기)을 생성해서 작업 표시줄과 같이 손 닿기 편한 곳(?)에 위치시킨다.
@echo off "C:\Program Files (x86)\teraterm\ttermpro.exe" {서버_주소}:{포트번호} /ssh /2 /auth=publickey /user={계정명} /keyfile="{비밀키_경로}"
예를 들어, foo@mysite.com:22로 접속하려 하고, 앞서 생성한 비밀키를 "%HOME%\.ssh\id_rsa"에 저장해 뒀다면 다음과 같이 스크립트를 작성하면 된다.
@echo off "C:\Program Files (x86)\teraterm\ttermpro.exe" mysite.com:22 /ssh /2 /auth=publickey /user=foo /keyfile="%HOME%\.ssh\id_rsa"
모든 설정이 제대로 되어 있다면, 단축 아이콘을 실행하면 TeraTerm이 뜨면서 지정한 서버로의 SSH 접속과 인증이 이루어지고 즉시 원격 셸이 나타난다.
참고: TeraTerm의 Command Line 파라미터 기술 문서
응용: 터미널 열기 단축키 등록 (AutoHotkey 활용)
TeraTerm의 Command line 기능과 AutoHotkey 스크립트를 연동하면 키보드 단축키로 원격 서버에 연결된 셸을 바로 띄우도록 설정할 수 있다.
다음은 단축키 [Ctrl]+[Alt]+[T]가 눌리면 TeraTerm을 실행해서 원격 SSH 서버로 자동 접속하고 셸을 띄우는 AutoHotkey 스크립트이다.
; [Ctrl]+[Alt]+[T] -> Open TeraTerm & connect to SSH server ^!t:: Run, "C:\Program Files (x86)\teraterm\ttermpro.exe" mysite.com:22 /ssh /2 /auth=publickey /user=foo /keyfile="%HOME%\.ssh\id_rsa" return
작성한 AHK파일을 시작 프로그램 폴더(시작→실행→"shell:startup")에 위치시키면 부팅 후 언제나 단축키로 원격 셸을 띄울 수 있다. (또는, 다른 곳에 저장하고 단축아이콘을 만들어도 된다.)
참고: AutoHotkey 단축키 스크립트 작성 및 사용하기
TIP: WSL(Windows Subsystem for Linux)이 설치된 환경에서 Bash.exe가 실행되는 기본 터미널(사실 명령 프롬포트)을 이런 방식으로 TeraTerm으로 대체해서 사용하면 편리하다. 다음은 WSL의 SSH 서버가 22번 포트를 사용하도록 설정한 경우에 대한 예시이다.
; [Ctrl]+[Alt]+[T] -> Open TeraTerm & connect to localhost ^!t:: Run, "C:\Program Files (x86)\teraterm\ttermpro.exe" localhost:22 /ssh /2 /auth=publickey /user=foo /keyfile="%HOME%\.ssh\id_rsa" return
참고: