라벨이 SSH인 게시물 표시

[AWS] WinSCP 를 이용해 Linux 인스턴스로 파일 전송하기

이미지
지난 포스팅에서는 Putty 를 활용한 Linux 인스턴스 접속 방법에 대해 알아 보았습니다. 오늘은 이어서  Linux 인스턴스에 파일을 전송할수 있는 WinSCP 활용법에 대해 알아보겠습니다. WinSCP 를 사용하기 위해서는 우선 지난 포스팅에서 Puttygen 을 통해 생성한 PPK 파일이 필요합니다. PPK 파일생성 방법은 [AWS] Windows 에서 Linux 인스턴스 연결을 위한 PuTTY 사용방법 을 참고. 1.  개인 key 를 활용한 서버 접속 방법 아래 링크를 통해 WinSCP 프로그램을 다운로드 합니다. WinSCP 다운로드 -> https://winscp.net/eng/download.php WinSCP 를 설치하고 프로그램을 실행 합니다. 프로그램을 실행하면 바로 로그인 입력 화면이 표출됩니다. 호스트 이름 에 Ec2 인스턴스의 Public IP 또는 Public DNS 를 입력합니다. 사용자 이름 에 접속할 계정 정보 를 입력 합니다. 인증키를 통해 서버에 접속할 예정이므로 설정을 위해 고급버튼 을 선택합니다. * 인스턴스 접속계정 정보는 아래와 같이 구성됩니다. Amazon Linux AMI의 경우 사용자 이름은 ec2-user RHEL AMI의 경우 사용자 이름은 ec2-user 또는 root Ubuntu AMI의 경우 사용자 이름은 ubuntu 또는 root Centos AMI의 경우 사용자 이름은 centos Fedora AMI의 경우 사용자 이름은 ec2-user SUSE의 경우 사용자 이름은 ec2-user 또는 root SSH – 인증 메뉴를 통해 개인키 파일을 등록할 수 있습니다.  SSH 접속을 위해 생성했던 PPK 파일을 선택한 후 확인 을 선택 합니다. 다시 로그인 화면으로 돌아와 로그인 버튼을 선택 합니다. 아래와 같이 인증 절차가 진행됩니다. 인증 완료 후 서버에 접속되고 ec2-user 디렉토리

[AWS] Windows 에서 Linux 인스턴스 연결을 위한 PuTTY 사용방법

이미지
AWS 콘솔을 통하여 EC2 인스턴스를 생성하게 되면 SSH 접속을 위한 Key pair 를 사용하게 됩니다. Namsan.pem 과 같이 pem 형식의 파일을 다운로드 받을 수 있습니다. Mac 사용자의 경우 pem 파일을 이용해  Linux 인스턴스에 접속이 가능하지만 Windows 사용자의 경우에는 PuTTy 에서 PEM 파일을 지원하지 않기 때문에 별도의 PPK 파일을 생성하여야만 Linux 인스턴스에 접속이 가능합니다. 필요한 프로그램을 다운로드 하기 위해 puTTy 다운로드 페이지로 이동합니다. https://www.chiark.greenend.org.uk/~sgtatham/putty/ 해당페이지에서  puttygen.exe 파일과  putty.exe 파일을 다운로드 합니다. 1. puttygen 을 통한 PPK 파일 생성 다운로드한 puyttygen 을 실행한 화면 입니다. Conversions – import key 메뉴를 선택합니다. EC2 인스턴스 생성시 다운로드한 PEM 파일을 선택 합니다. 아래와 같이 Key 파일이 import 됩니다. Type 을 SSH-2 RSA 로 선택 한 후 Save private key 버튼을 클릭합니다. 파일생성시 암호문을 설정하지 않았다는 경고창이 팝업되지만 “예” 를 선택하고 넘어가면 됩니다. 탐색기에서 생성할 키파일을 입력하고 “저장” 합니다. 이제 putty 접속시 사용할 PPK 파일 생성이 완료 되었습니다. 이제 Linux 인스턴스에 접속해 보겠습니다. 2. putty 를 통한 인스턴스 접속 PPK 생성이 완료되면 이제 putty 를 통해 인스턴스 접속이 가능합니다. putty.exe 를 실행합니다. Host Name 에   username@public_Ip    형식으로 이름을 입력합니다. 이때 인스턴스 생성시 설정한 AMI 별로 아래와  같은 사용자 이름이 설정됩니다.

[AWS] Bastion Host 를 활용한 SSH 접근통제 #2

이미지
지난 포스팅에서 Bastion Host 를 구성하여 WebServer SSH 에 접근권한을 제어하는 방법에 대하여 알아 보았습니다. 지난포스팅 보러가기 -> [AWS] Bastion Host 를 활용한 SSH 접근통제 #1  하지만 지난시간에 적용한 구성은 보안상으로 문제점이 발생합니다. BastionHost 와 WebServer 가 동일한 인스턴스 접속Key를 사용하기 때문에 BastionHost 가 보안 취약점에 의해 외부에 노출 되는경우  WebServer 도 동시에 영향을 미치게 됩니다. < 동일한 Instance 접속키 사용에 따라 보안 취약점 발생> 이러한 보안 취약점 해결을 위하여 이번 포스팅에서는 아래 구성과 같이 instance 접속키를 별도로 구성해 보도록 하겠습니다. <instance 접속키 분리를 통해 보약취약점 제거> 우선 AWS 콘솔로 이동해서 신규 적용할 Key 를 생성하도록 하겠습니다. EC2 메뉴 좌측에서 Key Pairs 를 선택합니다. 기존에 생성한 인스턴스 키 목록이 표출 됩니다. Create Key Pair 를 클릭하여 신규 Key 를 생성 하겠습니다. Web Server 에 사용할 Key 이름을 설정하고 Create 를 선택 합니다. “web” 이라는 명칭으로 키를 생성해 보겠습니다. 키가 생성되면 자동으로 web.pem 파일이 다운로드 됩니다. 이제 생성된 key 파일을 이용해 Instance 를 새로 생성 하도록 하겠습니다. 기존 서비스가 운영 중인 경우 동일한 instance 를 활용하기 위해서는 AMI 백업을 진행하고 해다 이미지를 활용해 신규 Instance 를 생성 합니다. 생성 하고자 하는 인스턴스를 선택한 후  image > Create image 메뉴를 선택합니다. 생성할 image 이름을 등록합니다. 운영중인 서버라면 “No reboot” 옵션에 체크해야 인스턴스가 재부팅 되지 않습니다.

[AWS] Bastion Host 를 활용한 SSH 접근통제 #1

이미지
AWS 에서 Instance 를 생성하여 사용하고 있다면 유지관리를 위하여 서버에 SSH 접속을 하는 경우가 생기게 됩니다. 기본적으로 무료로 제공되는  Security Group(SG) 을 Chaining으로 구성 하게 되면 간략하게  특정 EC2 인스턴스 에게만 SSH 접속을 허용하는 보안 구성이 가능합니다. 구성하고자 하는 모형은 아래와 같습니다. [SecurityGroup을 통한 SSH 접근제어 구성] AWS 보안 구성을 하기전에는 먼저 Security Group을 생성한 후 EC2 인스턴스 생성시 해당 Security 그룹을 적용하는 방법을 사용하는 것이 순서입니다. 하지만 이미 서버가 운영중에  추가 보안구성을 하는 경우를 감안해서 EC2 인스턴스를 먼저 생성한 후에 Security Group 설정을 진행 하겠습니다. 우선 Bastion Host 역할을 할 EC2 인스턴스를 생성해 보도록 하겠습니다. EC2 Dashboard 로 이동해 Launch Instance 를 선택합니다. Amazone Linux 를 선택 합니다. Free Tier 가 적용되는 T2 Micro 를 선택하고 Review and Launch 를 선택 합니다. Review 화면이 나오면 Launch 를 선택합니다. Key Pair 를 새로 생성하고 Download Key Pair 를 선택하여 Key 파일을 다운로드 한후 Launch Instance 를 선택합니다. View Instance 를 선택하여 생성된 EC2 인스턴스를 확인 합니다. 인스턴스가 정상적으로 생성되었습니다. 접속 IP가  54.157.118.232 인  Instance 가 생성되었습니다. 동일한 방법으로 Web Server 역할을 수행할 EC2 Instance 를 생성해 보도록 하겠습니다. 접속 IP 가 34.224.165.38 인 instance가 생성되었습니다. 분류하기 쉽게