Commands/Linux

aws 처럼 ssh 로 password 없이 private key 로 접속하기

꼰대코더 2025. 3. 1. 02:47

ssh 가 인스톨되어 있는지 확인후 없다면 인스톨

$ sudo systemctl | grep ssh
# 아무것도 안나오면
$ sudo apt update
$ sudo apt install ssh

 

ssh로 접속시 패스워드를 사용하지 않는 설정

$ sudo nano /etc/ssh/sshd_config

아래를 찾아서
. . .
# PasswordAuthentication yes
. . .
아래로 변경
. . .
PasswordAuthentication no
. . .

Ctrl + x 로 save 하여 빠져나옴

# 서비스 restart
$ sudo systemctl restart ssh

 

방화벽에서 ssh 를 허용

$ sudo ufw allow ssh

 

키 생성

$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa): 엔터
Enter passphrase (empty for no passphrase): 엔터

Your identification has been saved in /your_home/.ssh/id_rsa
Your public key has been saved in /your_home/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:/hk7MJ5n5aiqdfTVUZr+2Qt+qCiS7BIm5Iv0dxrc3ks user@host
The key's randomart image is:
+---[RSA 3072]----+
|                .|
|               + |
|              +  |
| .           o . |
|o       S   . o  |
| + o. .oo. ..  .o|
|o = oooooEo+ ...o|
|.. o *o+=.*+o....|
|    =+=ooB=o.... |
+----[SHA256]-----+

위의 결과로 현재 유저의 홈디렉토리의 .ssh 폴더안에

id_rsa        : private key

id_ras.pub : public key

 

public key의 group과 others 의 권한을 제거한 후 authorized_keys 로 복사본을 생성

$ chmod 600 ./ssh/id_ras.pub
$ cat .ssh/id_ras.pub >> .ssh/authorized_keys

 

private key 는 홈디렉토리에 Client용 pem key로 복사

$ cp .ssh/id_rsa ~/"알기쉬우 이름".pem

 

"알기쉬우 이름".pem 을 다운로드 혹은 USB에 담아서 이 Ubuntu 에 접속하고자 하는  Mac / Windows / Linux PC에서 아래와 같이 패스를 지정해서 이용.

ssh -i 패스("알기쉬우 이름".pem) ubuntu유저@ubuntu_server(도메인명 혹은 IP)

'Commands > Linux' 카테고리의 다른 글

shell 의 환경화일 (.profile, .bashrc)  (0) 2025.03.03
검색  (0) 2025.03.01
소프트웨어 패키지 관리  (0) 2025.03.01
방화벽 (firewall)  (0) 2025.02.28
유저 / 그룹 / 화일 관리  (0) 2025.02.28