티스토리 뷰

1. Client

1. Client SSH 키 쌍 생성

# ssh-keygen: SSH 키 쌍을 생성하는 명령어
# -t rsa: 사용할 암호화 알고리즘 유형을 RSA로 지정
# -N '': -N : 키에 대해 암호를 지정
# -f: 키 파일의 이름과 경로를 지정
ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa

2. 생성된 키 쌍 확인

# 지정한 생성 위치로 이동
cd ~/.ssh

# 디렉토리의 전체 파일 목록을 포함한 자세한 정보를 출력
ls -al

3. Server에 공개 키 등록

# 현재 컴퓨터의 공개 키를 원격 컴퓨터(192.168.0.11)에 복사
ssh-copy-id 사용자계정@192.168.0.11

4. 비밀번호 없이 접속

# ssh 접속시도: 비밀번호 없이 정상 접속
ssh 사용자계정@192.168.0.11

2. Server

1. 저장 된 공개키 확인

공개 키는 일반적으로 authorized_keys 이름에 파일에 저장되며 ~/.ssh 위치에 저장됩니다.

정상적으로 등록이 되었다면 비밀번호 없이 ssh 접근이 가능합니다.

# 파일의 내용을 출력
cat ~/.ssh/authorized_keys

2. 비밀번호로 ssh 접속 막기

위 과정까지 진행되었다면 비밀번호 없이 ssh 접근이 가능하기 때문에, 다음과 같은 보안 상에 이유로 이제부터는 비밀번호 ssh 접속을 막아야 할 필요가 있습니다.

  • 무차별 대입 공격(brute-force attack)으로부터의 보호: 암호 인증을 비활성화하면, 공격자가 계정의 암호를 무차별 대입 공격으로 유추해내는 것이 어려워집니다.
  • 강력한 암호화 알고리즘 사용: 키 기반 인증은 일반적으로 암호 인증보다 강력한 암호화 알고리즘(예: RSA, ECDSA, ED25519 등)을 사용합니다.
# 설정파일1
sudo vi /etc/ssh/sshd_config

# 설정파일2
sudo vi /etc/ssh/sshd_config.d/50-cloud-init.conf

서버 버전에 따라 설정 파일이 다를 수 있으니 설정파일1, 설정파일2 를 확인하시기 바랍니다.

# 암호 인증 비활성화
PasswordAuthentication no

3. 설정 적용

# ssh server 재시작
sudo systemctl restart sshd

4. 확인

# ssh 접속시도: 공개키가 등록되지 않는 사용자는 바로 실패
ssh 사용자계정@192.168.0.11
Permission denied (publickey).
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 29 30 31
글 보관함