1. 공인 IP에 생성된 비밀번호로 ssh 접속

2. ssh-keygen으로 공개키 생성

ssh-keygen -y -f ~/.ssh/watchducks.pem

3. 사용자 생성 및 권한 부여


# 1. 새로운 사용자 생성
NEW_USER="newadmin"  # 원하는 사용자 이름으로 변경하세요
sudo adduser $NEW_USER
sudo usermod -aG sudo $NEW_USER  # sudo 권한 부여

# 2. SSH 디렉토리 및 authorized_keys 파일 생성
sudo mkdir -p /home/$NEW_USER/.ssh
sudo chmod 700 /home/$NEW_USER/.ssh
sudo touch /home/$NEW_USER/.ssh/authorized_keys
sudo chmod 600 /home/$NEW_USER/.ssh/authorized_keys
sudo chown -R $NEW_USER:$NEW_USER /home/$NEW_USER/.ssh

# 3. 공개키 등록 (이 부분은 실제 공개키로 교체해야 함)
echo "여기에_공개키를_넣으세요" | sudo tee /home/$NEW_USER/.ssh/authorized_keys

# 4. SSH 설정 파일 백업
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

# 5. SSH 설정 변경 - 더 엄격한 보안 설정 적용(아래 config 파일 복사)
vi /etc/ssh/sshd_config

4. /etc/ssh/sshd_config

# SSH 기본 포트
Port 22

# 프로토콜 버전 2만 허용
Protocol 2

# root 로그인 비활성화
PermitRootLogin no

# 모든 패스워드 인증 방식 완전히 비활성화
PasswordAuthentication no
ChallengeResponseAuthentication no
KbdInteractiveAuthentication no

# 공개키 인증만 활성화
PubkeyAuthentication yes
AuthenticationMethods publickey

# GSSAPI 인증 비활성화
GSSAPIAuthentication no
GSSAPICleanupCredentials no

# 호스트 기반 인증 비활성화
HostbasedAuthentication no

# 빈 패스워드 비활성화
PermitEmptyPasswords no

# PAM 인증 활성화
UsePAM yes

# X11 포워딩 비활성화
X11Forwarding no

# 최대 인증 시도 횟수
MaxAuthTries 3

# 클라이언트 유휴 시간 설정 (초 단위)
ClientAliveInterval 300
ClientAliveCountMax 0

# 사용할 수 있는 사용자 지정
AllowUsers watchducks

5. sudo systemctl restart sshd - sshd 재시작

cf) ~/.ssh/config


Host watchducks-console
    HostName 175.106.99.193
    Port 2235
    User watchducks
    IdentityFile ~/.ssh/watchducks.pem
    ForwardAgent yes

Host watchducks-metric
    HostName 211.188.52.194
    Port 2235
    User watchducks
    IdentityFile ~/.ssh/watchducks.pem
    ForwardAgent yes

Host watchducks-db
    HostName 10.0.2.8
    Port 2235
    User watchducks
    ProxyJump watchducks-metric
    ForwardAgent yes
    
Host watchducks-proxy
    HostName 223.130.134.64
    Port 2235
    User watchducks
    IdentityFile ~/.ssh/watchducks.pem
    ForwardAgent yes

Host watchducks-ns
    HostName 175.106.99.60
    Port 2235
    User watchducks
    IdentityFile ~/.ssh/watchducks.pem
    ForwardAgent yes

위와 같이 config 파일 만들면 ssh watchducks-proxy와 같이 접속 가능

스크린샷 2024-11-04 오후 6.09.49.png

6. 프라이빗 서버로 간편히 들어가게?