jenkins, aws를 사용할때 ssh key라는것을 많이 사용했다.
그냥 간단하게 사용만 했지 구체적으로 어떤 것인지 몰라서 공부를 진행해 봤다.
ssh key를 사용하는 경우)
- 비밀 번호 보다 높은 수준의 보안을 필요로 할때
- 로그인 없이 자동으로 서버에 접속 할때
ssh key는 공개키(public key)와 비공개키 (private key)로 이루어져 있다.
비공개키는 로컬머신 공개키는 리모트 머신에 위치해야한다.
ssh 접속을 시도하면 ssh client가 로컬 머신의 비공개키와 원격머신의 비공개키를 비교해서 둘이 일치하는지를 확인한다.
ssh key를 생성하기위해서는 리눅스,맥 터미널에서 ssh-keygen 명령어를 사용하면 된다.(맥 굳굳)
ssh-keygen -t rsa
->> rsa 암호화 방식으로 키를 생성한다는 의미
seungsu@LSSMAC tet % ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/seungsu/.ssh/id_rsa):
--> ssh 키를 저장할 위치를 지정한다. 엔터를 누르면 기본경로에 저장된다. 기본 경로는 로그인한 사용자의 홈 디레터리 아래의
.ssh dlek. SSH client는 기본적으로 이 디렉터리에 있는 키를 이용해서 인증을 시도한다.
Enter passphrase (empty for no passphrase):
추가로 사용할 암호를 입력하라고 합니다. 굳이 사용 하지 않아도 된다고 한다.
Enter same passphrase again
재확인용
ssh 접속정보를 설정파일로 설정을 할수있다)
사용자의 ~/.ssh/config 파일을 만들고
Host ec2-1
HostName 111.111.111.11
Port 22
User ec2-users
IdentityFile /User/sss/ec2/123.pem
Host ec2-2
HostName 111.111.111.11
Port 22
User ec2-users
이런식으로 등록한후
ssh ec2-1
접속이 성공적으로 가능하다.