Today I Learned …
[공부] SSH (Secure Shell) : 공개키 인증을 사용하여 로그인하는 방법 본문
* 개인적인 공부 내용을 기록한 글입니다.
SSH 공개키 인증을 사용하여 로그인하는 방법
0. 들어가기 전
[1] 클라이언트 측에는 OpenSSH 클라이언트가, 서버 측에는 OpenSSH 서버가 설치되어있어야 합니다.
[2] 간단한 과정이기 때문에 구글링해서 확인 후 설치해주세요.
0-1. 전체 과정 요약
[1] 클라이언트 측에서 키를 두 개 생성한다.
[2] 생성한 키 중 하나를 서버에 복사해준다.
⇒ 사실상 끝
1. 클라이언트 측에서 키 생성
① $ ssh-keygen
⇒ 비대칭 Key Pair를 생성한다.
② 경로, Passphrase 설정
⇒ 둘 다 설정 안해도 무방 (Enter 두 번 입력)
③ /.ssh 디렉토리로 들어가기
⇒ 아래와 같이 키가 두 개 생성된 것을 볼 수 있다. (known_hosts는 무시)
⒧ id_rsa : Private Key (= 개인키)
⑵ id_rsa.pub : Public Key (= 공개키)
④ 곧 다시 돌아올 디렉토리이기 때문에 끄지 않고 둔다.
2. 서버에 공개키 복사해주기
① $ ssh [서버 사용자명]@[서버 IP주소]
② 서버 사용자의 Password 입력
⇒ 서버 접속 성공
③ $ ls -a
⇒ 출력된 리스트 중에 .ssh가 있는 지 확인한다.
⇒ 없을 시에는 $ mkdir .ssh 를 입력하여 생성해준다.
④ 아까 열어둔 Windows 디렉토리를 띄우고, id_rsa.pub 파일을 메모장을 사용하여 연다.
④ 메모장에 적힌 내용 (= 공개키) 을 통째로 복사한다.
⑤ 터미널로 돌아온다.
⑥ $ echo [공개키 전문] >> ~/.ssh/authorized_keys
⑦ $ exit
⇒ 서버에서 빠져나온다.
3. 재접속 시
① $ ssh [서버 사용자명]@[서버 IP주소]
② 더 이상 Password를 물어보지 않고 아래와 같이 바로 접속이 된다.
이외. 자동 로그인이 안되고 여전히 Password를 물어본다면?
다음은 구글링 키워드다.
① ssh 공개키 로그인 안됨 sshd_config
② ssh 공개키 로그인 안됨 권한
⇒ 그래도 안된다면 아래 포스팅을 참조해보세요.
https://choco4study.tistory.com/26
이외-1. 접속할 때마다 명령어를 입력하는 것이 귀찮다면?
서버에 들어갈 때마다 매번 IP를 찾아서 붙여넣기가 귀찮다면
$ ssh [서버 사용자명]@[서버 IP주소]
위의 과정을 일종의 실행 파일로 만들어주면 된다.
① $ cd [원하는 디렉토리]
② $ vim [실행파일명].bat
⇒ 실행파일의 확장자를 반드시 .bat 으로 해준다.
③ 아래와 같이 적는다.
@echo off
title Choco-Ubuntu-SSH #원하는 제목
ssh '서버 사용자명'@'서버 IP주소' #-p '포트번호' : 22번이 아닌 포트를 사용하고 싶을 시 주석 풀고 지정
:pause
④ 저장한 후 빠져나온다.
⑤ 생성된 실행 파일 클릭 시, 원하는 서버로의 SSH 접속이 완료된 상태의 셸이 열린다.
참고 포스팅
https://charging.tistory.com/94
https://doohaproject.tistory.com/11
https://library.gabia.com/contents/infrahosting/9002/
https://velog.io/@hyeseong-dev/%EB%A6%AC%EB%88%85%EC%8A%A4-ssh%EB%9E%80
'Computer > 공부' 카테고리의 다른 글
[공부] SSH (Secure Shell) : 기초 및 심화 개념 (0) | 2021.10.20 |
---|---|
[공부] Swift 기본 문법 총 정리 (0) | 2021.10.20 |
[공부] VSCode에서 SFTP Extension 사용하기 (1) | 2021.10.18 |
[공부] 프로토콜 (Protocol) (0) | 2021.10.18 |
[공부] TCP/IP 4계층 (0) | 2021.10.18 |