앞서 진행했던 실습대로 controller(client) -----> node2(server)로 접속하기 위한 설정을 진행한다. node2에 동일한 작업을 반복하고 클라이언트 측에서 접속해보면 패스워드 기반 인증으로 접속이 가능하다. ✔️ 키 기반의 인증 접속 설정 하지만 위와 같이 매번 패스워드를 통해 인증하는 것은 번거로운 일이다. 이번에는 키 기반의 인증을 통해 접속하는 방법을 알아보자 ssh-keygen 명령을 이용해 키를 생성한다. default는 id_rsa라는 이름으로 생성된다. 이때 passphrase는 반드시 설정해줘야 하는 부분이다. (실습은 편의를 위해 설정하지 않았다.) passphrase를 설정하지 않는 것은 공인인증서를 사용할 때 공인인증서의 패스워드를 세팅하지 않는 것과 같은 ..
SSH-keygen을 이용한 인증키 생성의 방법과 원리 SSH가 뭐야 ? SSH 키 생성을 위해 사용하는 ssh-keygen 명령은 비밀키를 먼저 만들고 그 값과 passphase를 활용해 공개키를 만든다. 따라서 같은 페어가 아닌 키들은 동시에 사용될 수 없다. ssh-keygen은 SSH nice-engineer.tistory.com 앞서 공부한 SSH-keygen을 방식을 실제 VM을 사용해 실습해 볼 것이다. ✔️ 실습 환경 구성 ✔️ vscode 설치 PS C:\Users\Shinsohui> choco install vscode -y ✔️ vs 설치 확인 PS C:\Users\Shinsohui> code ✔️ 디렉토리 생성 후 Vagrantfile 생성하기 PS C:\Users\Shinsohui..
SSH가 뭐야 ? SSH 키 생성을 위해 사용하는 ssh-keygen 명령은 비밀키를 먼저 만들고 그 값과 passphase를 활용해 공개키를 만든다. 따라서 같은 페어가 아닌 키들은 동시에 사용될 수 없다. ssh-keygen은 SSH의 대표적 구현체인 OpenSSH 라이브러리에 포함되어 있다. 만들어진 키 페어는 시스템 자동 로그인, SSO(Single Sign-On) 또는 서버 호스트 사설 인증 등에 사용할 수 있다. ssh-keygen이 어떤 알고리즘과 방식으로 한쌍의 키를 만드는지 보자 % ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/brandon/.ssh/id_rsa):..
✔️ cloud-init 이란? 클라우드 인스턴스의 초기화를 위한 스크립트 클라우드 인스턴스의 최초 초기화를 위한 유틸리티들을 포함하는 패키지 클라우드 인스턴스의 최초 초기화를 다루는 '사실상의 표준' 다중-배포판 패키지 여러 리눅스 배포판에서 표준 Cloud 이미지를 제공하며 cloud-init으로 초기화할 수 있음 클라우드 인스턴스는 디스크 이미지 및 인스턴스 데이터에서 초기화된다. Cloud metadata User data (optional) Vendor data (optional) Cloud-init는 부팅하는 동안 실행 중인 클라우드를 식별하고 클라우드에서 제공된 메타데이터를 읽고 그에 따라 시스템을 초기화한다. 여기에는 SSH 액세스 키 및 시스템의 기타 여러 측면을 구성하기 위한 네트워크 ..
다른 서버를 이용해 최종 서버에 SSH 연결을 하기 위해 SSH proxy/tunneling을 사용한다. 이러한 방법을 Jump Host라고 부르는데 1. 목적 서버가 접근 IP를 제한할 때 2. 목적 서버가 방화벽/공유기 뒤에 있을 때 3. IPv4 전용 네트워크/머신에서 IPv6 전용 서버로 접속하고 싶을 때 이 경우들은 종류가 다르지만 결국 경유 서버를 이용한다면 같은 문제로 분류할 수 있어 해결책이 같다. 경유 서버를 jump_server 목적 서버를 remote_server라고 하면 jump_server은 클라이언트에서 ssh로 접속이 가능하며 jump_server는 remote_server에 네트워크 접속이 가능해야 한다. ✔︎ 해결 방법 1. Pseudo Terminal jump server..
✔︎ SSH proxy/tunneling 클라이언트와 서버 사이에 연결이 이루어지면 이를 터널링이라고 한다. SSH tunneling이란 터널링을 SSH 프로토콜을 이용하여 구현하는 것이며 proxy와 비슷한 역할을 한다. 사내 내부망에 있는 서버로 직접 접속을 허용하지 않는 경우 외부에서 내부로 접근하기 위해 터널링 기술을 이용하고 이 때 SSH 프로토콜을 이용해 패킷을 암호화하는 것이다. ✔︎ SSH proxy/tunneling 사용의 이유 회사 내부 로컬 네트워크에 연결된 VM에 접근하고 싶을 때 서버 내부에 설치된 도커 컨테이너에 SSH로 접근하고 싶을 때 1. 간이 VPN이 필요할 때 2. 여러 안전하지 않은 통신 프로토콜을 안전하게 연결하고 싶을 때 3. 서버가 접근 IP 를 제한하거나 방화벽..