티스토리 뷰
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).
'IT' 카테고리의 다른 글
우분투(ubuntu) ufw 방화벽 설정 (0) | 2023.07.20 |
---|---|
우분투(ubuntu) docker 설치 (0) | 2023.07.20 |
우분투(ubuntu) 한국시간 변경 (0) | 2023.07.14 |
우분투(ubuntu) 고정 ip 설정 (0) | 2023.07.13 |
우분투(ubuntu) 설치를 위한 부팅 usb 만들기 (0) | 2023.07.13 |