CS122 [Docker] ssh 사용 시 "Permissions for *.pem are too open" / UNPROTECTED PRIVATE KEY FILE 오류 / Windows에서 ec2 ssh 안될 때 pem 키 권한 수정 안녕하세요 warehouse입니다. 오늘은 Windows 에서 AWS EC2 로 ssh 접속 시 발생하는 UNPROTECTED PRIVATE KEY FILE 오류 조치방법에 대해 정리해보았습니다. AWS에서 EC2 를 생성할 때 pem키를 다운로드 받게 되는데요, 개인키(private key)는 권한이 600 (rw-------) 으로 설정되어 있어야 사용이 가능합니다. 그렇지 않은경우 아래와 같은 오류를 만나게 되는 것이죠. 사실 오류 메시지를 보면 어느정도 감이 오실 수 있습니다. "Permissions for '*.pem' are too open" 권한이 너무 열려있다는 의미 입니다. 제가 리눅스에서 이 메시지를 봤다면 단순하게 chmod 600 으로 설정을 마쳤을 겁니다. 그런데 윈도우에선 권한설.. 2022. 3. 1. [Linux] lsof 명령어의 개념 / 사용 방법에 대해 안녕하세요 warehouse 입니다. 오늘은 우연히 회사에서 lsof 를 사용하게 되었는데요, 제대로 알지 못하고 필요한 목적으로만 사용하다보니 발전이 없더라구요. 그래서 생각만 하면서 미뤄 온 포스팅을 드디어 하게되었습니다. lsof 의 개념 lsof 의 개념은 위키에 잘 나와있어요 List open files의 약자이고 열려있는 파일의 정보를 제공해 주는 명령어 입니다. 유닉스 계열 운영체제에서 열려있는 파일과 그 파일을 열고 있는 프로세스의 목록을 출력해 주는 오픈소스로 제작 된 lsof 유틸리티 입니다. 참고 : 위키백과 lsof - 위키백과, 우리 모두의 백과사전 lsof는 list open files(열려있는 파일 나열)을 뜻하는 명령으로, 수많은 유닉스 계열 운영 체제에서 열려있는 모든 파일.. 2022. 2. 28. [도커] docker 컨테이너 목록 출력하기 / 실행 중인 컨테이너 확인 명령어 이번에는 docker 명령어를 이용해서 현재까지 생성 된 컨테이너 목록을 출력해 보려 합니다. docker ps 실행 중인 docker container 목록을 확인하는 명령어는 다음과 같습니다. docker ps 한번 실행해 보면 아래와 같은 결과를 얻을 수 있습니다. 애석하게도 docker 컨테이너 목록이 출력되지 않았습니다. > docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 기존에 생성 한 컨테이너가 있음에도 아무것도 나타나지 않는다면 모든 컨테이너가 정지상태이기 때문인데요, 모든 컨테이너를 확인하기 위해서는 다음과 같이 -a 옵션을 사용하면 조회가 가능합니다. >docker ps -a CONTAINER ID IMAGE COMMAN.. 2022. 2. 25. [도커] docker 버전 확인하고 신규 컨테이너 생성하기 안녕하세요 Warehouse 입니다. 오늘은 최근 공부하고 있는 docker에 대해서 간단히 정리하는 포스팅을 하려고 합니다. 현재 설치 된 docker의 버전을 확인하고 'docker run' 명령어를 통해 신규 컨테이너를 생성해 보았는데요, 어떻게 진행했는지 한번 알아봅시다. Docker의 설치 도커는 아래 사이트에서 Desktop version을 다운로드 하여 설치하였습니다. https://www.docker.com/get-started Get Started with Docker | Docker Learn about the complete container solution provided by Docker. Find information for developers, IT operations, and.. 2022. 2. 23. [CS/AWS] 아마존 웹 서비스 EC2 에서 Amazon Linux 생성하기 안녕하세요 Warehouse입니다. 22년을 맞아 작은 토이프로젝트를 진행해 보고자 AWS 에 계정을 새로 만들고 EC2를 만들어 봤습니다. 우선은 AWS에 로그인하고 AWS Management Console 을 보면 "Launch a virtual machine" 버튼을 볼 수 있습니다. Launch a virtual machine을 누르면 아래 처럼 각 단계에 따라 가상머신을 실행할 수 있는데 테스트 삼아 실행하는 VM이니 만큼 일단은 Amazon Linux 이미지를 이용해 보겠습니다. Free tier 에서는 두가지 버전의 Kernel을 지원하는데 5.10 버전을 선택합니다. 이제 Instance Type을 선택합니다. Free tier에서는 선택할 수 있는 인스턴스 타입이 제한됩니다. Instan.. 2022. 2. 21. [CS overview] Docker container 구성요소 ( 도커 구성요소 ) Docker의 구성도 및 구성요소 가. Docker의 구성도 - Docker 레지스트리 이미지를 통해 원하는 기능의 Container를 생성 나. Docker의 구성요소 구성요소 설 명 도커 데몬 (Docker Daemon) - Docker API 요청을 수신하고, 이미지, 컨테이너 등 Docker 객체 관리 - 다른 데몬과 통신하여 도커 서비스 관리 가능 도커 클라이언트 (Docker Client) - 사용자가 도커와 상호작용하는 기본 방법(Docker API) - 둘 이상의 데몬과 통신 가능 도커 레지스트리 (Docker Registry) - 도커 이미지를 저장, 도커 Hub는 누구나 사용할 수 있는 공개형 레지스트리 - docker pull/run : 레지스트리에서 이미지 가져옴 - docker p.. 2022. 2. 20. [쉘스크립트/csh] Linux csh 에서 파일 유무 확인하는 방법 / 일반 파일 존재 확인 / 파일 있는지 확인하는 조건 문 작성 Linux 환경에서 개발/운영을 하다보면 shell script를 이용해 파일 유무를 확인해야 하는 상황이 정말 많이 발생한다. 현재 나의 개발환경에서는 csh을 많이 쓰고있으며, 파일 유무를 정말 거의 매일 사용하다시피 한다. 이 기능.. 더 이상 검색하지 않기 위해.. 정리해 본다. 일단 기본적인 환경을 구성하기 위한 준비사항은 다음과 같다. 1. 확인하고자 하는 파일 2. 파일을 확인하는 스크립트 touch 명령어를 통해 테스트용 파일을 생성해 준다. touch a ls -l 파일 생성이 확인되면 csh 스크립트 파일을 만들어 아래와 같은 내용으로 테스트를 진행한다. ( shebang 은 꼭 써 주도록 하자. ==> #!/bin/csh ) vim b.csh #!/bin/csh if ( -e a ) .. 2022. 2. 14. [shell/csh] csh 디렉토리 유무/ 경로의 디렉토리 여부 확인하기 - 디렉토리 확인 조건문 지난 포스팅에 이어 오늘은 파일의 디렉토리 여부를 확인해 주는 스크립트를 csh로 작성 해 볼 예정입니다. 스크립트가 어떻게 동작하는지 확인하기 위해서 필요한 것은 단 두가지. 1. 확인 할 디렉토리 파일 2. 디렉토리 확인 스크립트 입니다. 그럼 시작해 봅시다. 우선 mkdir 을 이용해 테스트용 디렉토리를 만들어 줍니다. mkdir a 디렉토리 생성이 완료되면, csh 스크립트 파일을 만들어 아래와 같은 내용으로 진행해 봅시다. 우선 csh 파일을 만들고 775 권한을 줍니다. vim b.csh chmod 775 b.csh csh 파일을 작성해 줍니다. #!/bin/csh if ( -d a ) then echo "directory found" else echo "not found" endif 쉘 스크.. 2022. 2. 13. [Testing] MC/DC ( Modified condition / Decision coverage ) 의 개념 및 이해 근래들어 회사에서 테스트 관련한 중요성을 강조하고 있어서 간단하게 개념만 정리하려고 한다. 개념 개별 조건식이 다른 조건식의 영향을 받지 않고, 전체 조건식의 결과에 독립적 영향을 주는 구조적 테스트 기법 특징 특징 내용 전체조건식최소 한번수행 프로그램에 있는 모든 결정포인트 내 전체 조건식은 적어도 한번 모든 가능한 결과값을 취함 모든 개별 조건식 최소 한번 수행 프로그램에 있는 모든 결정포인트 내 모든 개별 조건식은 적어도 한번 모든 가능한 결과값 취함 개별 조건식은 결과에 독립적 영향 결정 포인트에 있는 각각의 개별 조건식은 결정 포인트의 결과값에 독립적으로 영향 N + 1 Test Case 테스트 상황으로 구성된 조합의 개수는 (조건식 + 1) MC/DC 결정 테이블 소스 if ( A && B ).. 2022. 2. 9. [CS/늦깎이스터디] Docker(도커) 란? 개념 도커의 개념은 위키 그대로다. 리눅스 프로그램들을 프로세스 격리기술을 이용해 컨테이너로 실행하고 관리하기 위해서 만들어지 오픈소스 프로젝트 도커 (소프트웨어) - 위키백과, 우리 모두의 백과사전 도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 도커 웹 페이지의 기능을 인용하면 다음과 같다: 도커 컨테 ko.wikipedia.org 그래서 그 프로젝트가 뭔가 싶은데 한 문장으로 정의를 하자면 아래와 같이 말할 수 있을 것 같습니다. "Container 기술을 바탕으로 고립된 환경에서의 어플리케이션 수행을 지원하는 가상화 솔루션" 왜 도커인가? 기존의 가상화 기술은 Hypervisor를 이용해 여러 OS를 설치하고, 그.. 2022. 1. 16. [CS/AWS] 아마존 웹 서비스 신규 계정생성과 Free Tier 이용하기 올해에는 토이 프로젝트를 작게나마 시작해 볼 마음으로 AWS가입을 했다. AWS가입은 이메일 주소와 신용카드만 있으면 그렇게 어렵지 않게 진행이 가능하다. 아래에 사진 순서대로 설명을 해 두었으니 참고가 되었으면 한다. 일단 구글에 AWS 를 검색해 보자 AWS 면 당연히 아마존 하나만 뜨는 거 아닌가 싶었는데 광고까지 하고있다. AWS가 뭔 광고야? 하는 의심이 들어서 낚시 사이트 아닌가 엄청 여러번 쳐다봤다.. 주소를 확인하고 들어가 본다. 나는 새로 계정을 만들 예정 + 무료체험(Free tier)이 필요하다. 메인 화면의 무료계정생성 버튼을 클릭한다. 이제 첫번 째 스텝이다. 필요한 정보들을 채워넣고 넘어간다. 이름과 사는 곳 (Country or Region) 등등을 입력한다. 국내 전화번호는 .. 2022. 1. 14. [CS] 코드커버리지(Code coverage) 란? 정의 화이트 박스테스트에서 테스트가 코드를 포함하는 수준을 지표화한 정보 유형 - function coverage - statement coverage - branch coverage - condition covereage 내용상세 - function covereage : 한 함수의 실행여부에 따라 커버여부를 판단. 테스트코드가 실제 함수를 실행할 경우 100% - satement coverage : 코드 라인의 실행 여부에 따라 커버여부를 판단. 테스트 코드가 해당 코드라인을 실행하는 경우 100% - condition coverage : 조건문 내에 구현 된 개별 조건의 수행여부에 따른 커버여부를 판단. 테스트 코드가 개별 조건을 실행하는 경우 충족. - Branch covereage : 조건문 내 .. 2022. 1. 10. [python] python에서 사용하는 점 3개( ... )의 의미 Python code를 보다보면 점 세개를 연이어 사용하는 코드를 보게된다. 그냥 이런 동작을 하는구나 정도로 이해할 수 있지만 그래도 조금은 더 알아보기 위해서 이번 포스팅을 작성했다. What is it? ... 은 뭔가? 일단 print를 한번 찍어봤다. >>> print(...) Ellipsis >>> Ellipsis 가 출력되는데 그럼 Ellipsis는 뭔가? 사전적 의미로는 생략, 생략부호(...) 이다. 그냥 말 그대로 쩜쩜쩜... 이다. Python에서의 생략부호에 대한 설명은 다음과 같다. The same as the ellipsis literal “...”. Special value used mostly in conjunction with extended slicing syntax fo.. 2021. 12. 12. [python/string] 문자열 앞 f, r 의 의미 - formatter string과 raw string python으로 작성 된 코드를 보다보면 string 앞에 r 또는 f 가 붙어있는 경우가 있다. 특수한 목적을 위해 사용하는 표현식인데, 우선 f 를 먼저 보자 Formatted string literals 본론부터 말하자면 string 앞 f 는 formatted string 리터럴 을 의미한다. python 3.6 에서부터 사용되기 시작했으며 이전에는 .format 같은 방식으로 사용해 왔었다. formatted string literals 는 아래 코드 예시처럼 사용 가능하다. >>> a = 1 >>> b = 2 >>> fs = f"{a} is a, {b} is b" >>> print(fs) 그러면 출력은 어떻게 나올까? 아래처럼 실제 값을 대입해서 보여준다. 참고삼아 예전에는 이런 방식으로 사용.. 2021. 11. 19. [python] positional argument 의 개념, 의미 Overview python 문서를 보다보면 positional argument 라는 단어를 많이 접하게 된다. 인자인 것은 알겠는데, 의미가 무엇인지 알아보자. Positional arguments Positional argument의 정의는 다음과 같다. 위치 인자 (positional argument): 키워드 인자가 아닌 인자. 위치 인자들은 인자 목록의 처음에 나오거나 이터러블 의 앞에 * 를 붙여 전달할 수 있다. 예를 들어, 다음과 같은 호출에서 3 과 5 는 모두 위치 인자다. (출처 : python docs ) complex(3, 5) complex(*(3, 5)) 아래는 python3 의 용어집이다. 다른 용어들도 많으니 많은 도움이 될 것이라 생각한다. https://docs.pyth.. 2021. 11. 17. 이전 1 ··· 3 4 5 6 7 8 9 다음