Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 94
  • 2573466
DNS Powered by DNSEver.com
일반

[TeraTerm] 명령줄 인수와 공개키 인증으로 간편하게 SSH 접속하기

Posted 2018. 11. 06 Updated 2018. 11. 06 Views 4454 Replies 0

이 글에서는 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

참고:

 

서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5