줄기세포

[Linux] ssh key로 서버에 접속하는 방법 본문

Linux

[Linux] ssh key로 서버에 접속하는 방법

줄기세포(Stem_Cell) 2022. 7. 29. 10:49
  • 비대칭 key를 이용하면 비밀번호를 치지 않아도 되서 접속이 용이하고
  • private key를 외부로 노출하지 않으면 보안에 안전하다는 장점이 있음

1. RSA key 서버 접속 환경 구성

1-1. SSH Key 만들기

  • Linux (CentOS)에서 rsa_key 생성 방법
# rsa type 옵션을 주어 ssh key 생성
$ ssh-keygen -t rsa -f .ssh/
$ ls -alrt
-rw-r--r--  1 root root  396 Jul 28 10:56 id_rsa.pub
-rw-r--r--  1 root root 1679 Jul 28 10:56 id_rsa
-rw-------  1 root root  397 Jul 28 11:22 authorized_keys

# permission 변경
$ chmod 600 id_rsa
  • private key(id_rsa)public key(id_rsa.pub)가 생성됨
  • private key는 client가 가지고 있고, 외부 노출하면 안됨
  • public key(id_rsa.pub)는 서버의 authorized_keys에 등록
  • authorized_keys는 Linux 머신의 .ssh 디렉토리 아래 위치한다

1-2. Client, 서버에 public key 등록

# client에 등록
$ cat ~/.ssh/id_rsa.pub >> ~./ssh/authorized_keys

# 서버에 등록
$ ssh-copy-id -i .ssh/id_rsa.pub root@172.27.0.10
passwd:                               # server의 IP (내부망)

위 작업으로 서버의 .ssh/authorized_keys에 public key를 등록한다.

2. ssh 접속

2-1. client에서 ssh 접속

$ ssh root@172.27.0.10
  • passwd 입력 없이 바로 접속이 가능

2-2. known_hosts

  • client와 server 의 .ssh/knwon_hosts 를 확인하면
  • client에는 server의 hostname, IP, 공개키가
  • server에선 client의 hostname, IP, 공개키가 등록되어 있음

 


참조>

비대칭키 방식으로 ssh 세션을 맺는 과정
https://velog.io/@lehdqlsl/SSH-%EA%B3%B5%EA%B0%9C%ED%82%A4-%EC%95%94%ED%98%B8%ED%99%94-%EB%B0%A9%EC%8B%9D-%EC%A0%91%EC%86%8D-%EC%9B%90%EB%A6%AC-i7rrv4de

RSA 암호화 공식 참조
https://namu.wiki/w/RSA%20%EC%95%94%ED%98%B8%ED%99%94

 

Comments