티스토리 뷰

 

안녕하세요 
이번 게시물에서는 SSH Key를 통해 원격 서버에 아이디, 패스워드 없이 
접속하는 법을 알아보겠습니다.

테스트 환경
- Widows 10 (Client)
- Ubuntu: Ubuntu 20.04.2.0 LTS (Server)

 

SSH Key 접속이란


SSH Key는 서버 접속 시 비밀번호를 대체하는 높은 보안 수준을 가지는 Key 접속방식입니다.

 

SSH Keys 동작방식



간략하게 SSH는 Secure SHell의 줄임말이며, 통신을 할 수 있게 해주는 하나의 protocol입니다.

SSH Key는 비대칭 암호화 방식으로 Client는 비공개 키(Private Key)를 Server는 공개키(Public Key)를 가지고 두 Key를 비교하여 둘이 일치하는지 확인하는 방식입니다.

 

 

SSH Key 접속 준비

 

Windows(Client) 세팅



Client가 될 Windows에서 OpenSSH 클라이언트를 확인합니다.

시작 > 프로그램 추가/제거 > 선택적 기능 > OpenSSH 클라이언트


Key 생성



- PoweShell에 아래 명령어를  명령어를 실행합니다.

  ssh-keygen

뒤에 따로 옵션을 두면 바이너리나 타입을 다르게 해서 key를 생성할 수 있습니다.


- 생성하면 해당 경로에 파일이 두 개 생성됩니다. 

  • id_rsa : private key - 타인에게 노출되면 안 되는 파일
  • id_rsa.pub : 접속하려는 원격 머신(서버)의 authorized_keys에 입력할 파일

 

 

Ubuntu(Server) 세팅


보통 Ubuntu 설치 후 SSH는 설치되어있지 않은 상태인데 확인 후 
설치가 되어있지 않다면 설치를 진행한다.

- 확인 및 설치 진행

$ dpkg -l | grep openssh-server
$ sudo apt-get install openssh-server
$ sudo service ssh start

 

- root 계정 접속 허용

1. 설정파일 에디터로 열어주기
$ sudo vi /etc/ssh/sshd_config

2. PermitRootLogin 속성값 yes 변경
PermitRootLogin yes

3. 저장 후 ssh 서버 재시작
$ sudo service ssh restart

 

Ubuntu(Server) Key 세팅


 

- Windows에서 생성한 Key 중 id_rsa.pub 파일의 내용을 복사합니다.

- Ubuntu 서버에 authorized_keys 파일 안에 붙여 넣습니다.

$ sudo vi ~/.ssh/authorized_keys



SSH Key 접속 실행

 

Windows에서 Ubuntu로 SSH 접속을 실행합니다.

명령어: ssh -P 22 접속Id@Ip주소

yes 입력 엔터!

접속이 완료 된걸볼 수 있습니다.



마무리!

 

Client에서 Server로 SSH Key 접속하는 방법을 알아봤습니다.
이외에도 과정이나 방법은 다양하게 있으니 다른 방법을 활용하셔도 좋습니다.
예를 들면 Putty 관련 프로그램을 통해 가능하니 다양한 방법을 익히면 도움이 될 겁니다.

클라이언트와 서버가 Key 값을 통해 접속을 제어
이 부분을 생각하시면서 과정을 익히셨으면 좋겠습니다.

다음은 SSH를 통해 파일을 전송하는 방식을 알아보도록 하겠습니다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함