본문 바로가기

리눅스 관련

테라텀(Teraterm)으로 자동 로그인 하기(SSH Key사용) #Part 2

반응형

테라텀 자동 로그인

 지난번에는 ID와 PW를 호스트입력하는 창에 옵션으로 같이 넣어 한번에 자동 로그인하는 방법을 설명하였습니다.

궁금하신 분은 아래의의 링크를 참조하세요.

https://retromakers.tistory.com/16

 

이번에는 SSH키를 이용하여 자동로그인하는 방법입니다.

 SSHKey는 2가지로 구성됩니다.

 하나는 남에게 줘도 되는 공개키(Public Key)이고, 나머지는 내가 가지고 있어야하는 개인키(Private Key) 입니다.

원격지에는 공개키를 넣어놓고, 접속하려는 사람이 개인키를 가지고 이에 접속하게 되는거지요.

  - 공개키 -> 원격지에 존재, 즉 접속하려는 호스트에 공개키가 특정 위치에 들어가야합니다.

  - 개인키 -> 테라텀을 실행시 불러드리는 키의 값으로 원격지에 접속하는 유저가 가지고 있어야 합니다.

 

<세팅하는 과정>

1. Key를 생성

2. 원격지에 공개키 저장

3. 테라텀에서 개인키를 이용하여 접속유무 확인

4. 테라텀 자동로그인

 

설명을 시작합니다.

 

1. Key를 생성

우선 키를 만드는 방법을 말씀드리겠습니다.

테라텀에서도 만들 수 있는 기능을 제공하고 친절하게 이에대한 설명이 나와있습니다.(https://ttssh2.osdn.jp/manual/4/en/usage/ssh.html 의 Generating Key참조)

 

테라텀실행 후 메뉴에 보시면 설정>키생성 을 누른 후

SSH 키 생성

팝업되는 창에서 생성버튼을 누르면, 잠깐동안 키 생성 과정을 거친 후,

아래쪽 저장 버튼이 활성화 됩니다.

 맨 아래 쪽 왼쪽 공개키 저장이 위에(1)에서 설명한 공개키이고,

이를 저장해 놓습니다. 파일명은 id_rsa.pub인데 바꿔서 저장해도 무방합니다.

오른쪽 개인키 저장이 위의 (2)에 해당되는 키입니다. 비암호를 적지 않고 누르면 "비어있는 암호를 사용하시겠습니까?"라고 묻는데 예를 해줍니다. 파일명은 id_rsa입니다. 

  개인키 저장시 PW를 지정하고 넣으면, 3번에서 접속시 유저ID와 더불어 이때 적었던 패스워드를 입력해야합니다.

 

이렇게 해서 생성된 두 파일은,

   "id_rsa" : 개인키       --> 테라텀 접속하는 유저가 가지고 있는 키

   "id_rsa.pub" : 공개키 --> 원격지 서버에 넣어놓는 키

 

2. 원격지에 공개키 저장

다음으로 원격지 서버에 공개키를 넣는 법을 설명합니다.

원격지 서버에 접속후 해당 유저의 home폴더(cd ~)에서,

.ssh 폴더를 생성합니다.(명령: mkdir ~/.ssh)

이후 .ssh폴더에 들어가서(명령: cd ~/.ssh), 파일명을 "authorized_keys"로 만들어 주고,

이 파일내에 공개키(id_rsa.pub) 내용을 카피해 줍니다.

공개키의 내용은 대략 아래처럼 생겼습니다. 아래키는 제가 임의로 만든것이니 이걸 카피해다 붙여넣으시면, 아래의 에러유형 1번을 만나게 됩니다.

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsuRraPNlxfXBVpl/fs8dlnOSqN+yfzJPuhC56yRONpqZC3
...
...
6UfpPYCjQmlGn2MFDkVqEoTGmaDKhNdHWClGsbb9yjwPsoUbhSSJhciw== TEST

3. 테라텀에서 개인키를 이용하여 접속유무 확인

 테라텀 실행후 호스트명에 접속하려는 호스트 주소를 치고 확인을 누르면 SSH 인증화면이 나옵니다.

Authentication methods박스내의  두번째 메뉴인 RSA/DSA/EDCSA/ED25519 키 로그인항목을 선정후

개인키(id_rsa)를 저장했던 위치를 선택해 줍니다. 저는 USB 메모리(E:\)에 이를 담아놓았습니다.

 또한,  사용자 이름: [유저ID] 부분에 유저ID를 적어줍니다. 만약 개인키 만들때 암호를 추가한경우라면,

"암호" 부분에 원격접속을 위한 암호가 아닌 개인키를 만들때 사용한 암호를 적어줍니다.

 확인을 눌러 원격서버에 접속이 되면 성공입니다.

 만약 안넣으면 에러 유형3번 메시지와 함께 암호를 물어보는데 이때 개인키 생성시 만들었던 암호를 넣어주면 됩니다.

 

4. 테라텀 자동로그인

3번까지 작업을 자동으로 로그인하는 옵션에 추가해 보겠습니다.

지난번 ID와 PW로 로그인하는 것과 유사한데, 다른점은 /auth=publickey로 바뀌었다는 것입니다.

 

 개인키를 암호없이 생성한경우라면 아래의 방법으로 접속을 하면 됩니다.

[호스트명] /auth=publickey /ssh2 /user=[유저ID] /keyfile=[개인키파일위치+파일명]

예를 들어 호스트명이 test.example.com이고 유저ID는 test이고, 생성된 키는 E:\id_rsa로 저장되어있다고 하면,

  test.example.com /auth=publickey /ssh2 /user=test /keyfile=e:\id_rsa

이 되겠고, 파일위치는 테스트를 해본결과, e:\id_rsae:/id_rsa 도 되고, "e:\id_rsa" 형태로도 가능했습니다.

 

개인키를 암호를 넣고 생성한경우라면 /passwd옵션에 개인키의 암호를 추가로 넣어 접속을 하면 됩니다.

[호스트명] /auth=publickey /ssh2 /user=[유저ID] /passwd=[개인키PW] /keyfile=[개인키파일위치+파일명]

 키가 없던 예제와 동일한 조건에서 개인키 암호가 1234라면 아래와 같습니다.

  test.example.com /auth=publickey /ssh2 /user=test /passwd=1234 /keyfile=e:\id_rsa

 

이렇게 자동로그인에 대해 알아봤습니다.

 

 마지막으로 편하게 될 수로 그만큼 보안에는 취약해 질 수 있으니 항상 조심하시라는 말씀을 드리고 싶네요.

개인키가 유출되는 경우 곤란하오니 개인용 피시가 아닌경우, 개인키는 usb에 담아놓고 사용시에만 꼽아서 사용하는걸 권장드립니다.

 

감사합니다!

 

 

아래는 에러유형에 대한 설명이오니 잘 안되는경우 참조하세요.

<에러 유형1>

원격지의 공개키가 잘못되거나 없는경우 발생합니다. .ssh/authorized_keys에 공개키값을 잘 넣었는지 한번 더 확인해주세요.

 

  <에러 유형2>

테라텀 호스트명에 넣은 개인키와 관련된 에러로, 경로의 해당파일위치에 개인키가 올바른지 확인해 주세요.

  <에러 유형3>

개인키 저장시 PW를 지정하고 넣으면 개인키를 읽는데 오류가 발생합니다.

 

반응형