SSH 인증키 생성 및 서버에 등록 & 간편하게 접속하기

Solar·2020년 6월 18일
4

기타등등

목록 보기
1/1

SSH 인증키 생성 및 서버에 등록

로컬에서 ssh key를 생성하고, 생성된 ssh key를 서버에 등록하면 해당 서버에 접속하려는 계정의 비밀번호 입력없이 ssh 접속이 가능하다.

클라이언트는 비밀키를 가지고 있고, 서버에 공개키를 가지고 있도록 하여 접속하는 방식이다.

  1. ssh-kegen으로 공개키/비밀키 한 쌍을 생성한다.

  2. 공개키를 접속할 서버의 ~/.ssh/authorized_keys 파일에 키값을 저장한다.

  3. 클라이언트에서 ssh userId@serverIP로 접속 가능하다.


클라이언트에서 인증키를 생성
  • -t : 키 타입 지정 (rsa, dsa)
  • -C : comment 를 남길경우 사용
 ~/.ssh  ssh-keygen -t rsa -C "EC2"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ssun/.ssh/id_rsa): /Users/ssun/.ssh/my_ssh_key #키이름
Enter passphrase (empty for no passphrase): #비밀번호
Enter same passphrase again:

my_ssh_keymy_ssh_key.pub 가 생성되었다. *.pub 파일은 공개키로 접속하고자 하는 서버에 등록하면 비밀번호 없이 접속 가능하다.


공개키 내용 복사
cat ~/.ssh/my_ssh_key.pub
-> 내용 복사

서버에 접속해서 `~/.ssh/authorized_keys`에 복사한 공개키값을 추가해준다.
cat >> ~/.ssh/authorized_keys
-> 공개키 붙여 넣고, 줄바꿈 -> Ctrl + D (저장)

로컬에서 ssh 접속
 ~/.ssh  ssh -i [private key name] [Username]@[Server IP address] -p [port number]
Enter passphrase for key '/Users/ssun/.ssh/my_ssh_key': #ssh key 비밀번호 입력
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1065-aws x86_64)


ssh config로 ssh 접속 간편하게 하기

ssh 접속하기 위해 다음과 같이 입력해야 한다.

ssh 계정ID@서버IP

`~/.ssh/config`에 별도의 설정을 통해 간편하게 접속 가능하다. (해당 파일이 없다면 새로운 파일로 생성)
Host Name1
    HostName [IP Address]
    User [Username]
    Port [Port Number]
    IdentityFile ~/.ssh/[private key name]


다음과 같이 Host 다음에 오는 이름만으로 간단하게 접속이 가능하다 (config 파일 퍼미션 : 440)
$ssh EC2
profile
nunnu

0개의 댓글