AWS/SSH

[AWS SSH] aws windows instance에 키 기반 인증 ssh연결 설정

DungDung.dev 2023. 12. 8. 01:14

https://dungdung-developer.tistory.com/2

 

[AWS SSH] aws windows instance에 ssh연결

로컬 windows wsl에서 aws windows instance로 연결하는 과정입니다. ssh가 간단한 인증과 연결을 도와주는 만큼 목적은 개발 pc에 편하게 접속하기 위한 것과 ssh명령어를 통한 배포 스크립트 구성에 있습

dungdung-developer.tistory.com

 

 이전 게시글을 통해 awd windows instance에 ssh연결을 활성화했습니다. 하지만 매번 비밀번호를 입력해야 합니다. 이것은 탈취, 유추, 자동화 공격 등 보안에 좋지 못하고 추후 최종 목표인 ssh명령어를 통한 자동화 배포 스크립트 구성에 어려움을 주기 때문에 "키 기반 인증" 방식으로 변경하겠습니다. 

* 저는 배포 스크립트를 작성 위해 관리자 권한으로 연결했습니다.

 

  • 관리자 계정에 연결하기 때문에 서버의 "C:\ProgramData\ssh"로 이동합니다.

 

  • "administrators_authorized_keys" 파일을 생성합니다.

 

  • 생성한 파일을 열고 로컬 서버의 공개 키를 붙여 넣기 합니다.
    • 만약 로컬에 ssh키가 없다면 powershell에 "ssh-keygen" 명령어를 입력하고 생성해 줍니다. 
    • 생성 후 "C:\Users\ useraname \.ssh" 폴더 안의 is_rsa.pub에 공개 키, id_rsa에 비밀 키가 저장되어 있습니다.
    • id_rsa.pub를 메모장 등 에디터로 열고 그 안의 키를 복사합니다.

 

  • " C:\ProgramData\ssh\sshd_config"에서 "PubkeyAuthentication yes" 옵션을 주석 해제 해줍니다. 
    • 제 sshd_config는 아래와 같습니다. 비활성화 옵션은 표시하지 않았습니다.
# sshd_config
......

PubkeyAuthentication yes

......

AuthorizedKeysFile	.ssh/authorized_keys

......

Subsystem	sftp	sftp-server.exe

......

Match Group administrators
    AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

 

 

 

  •  Restart-Service sshd 명령어를 실행하여 적용해 줍니다.

 

  • 로컬에서 "ssh username@instance_id"를 입력하여 ssh 연결을 확인합니다. 

 

 

 이제 aws windows instance에서 키 기반의 ssh인증 설정을 완료했습니다.

 

 aws ssm(AWS Systems Manager)을 설정하여 aws ssm start-session 명령어를 통해 인스턴스에 명령을 보낼 수도 있지만 ssh를 통한 명령이 더 간편하기 때문에 시도해 봤습니다.

 

'AWS > SSH' 카테고리의 다른 글

[AWS SSH] aws windows instance에 ssh연결  (2) 2023.12.07