ubuntu - ssh 인증키 설정하기
실행 환경
- 로컬 : windows 11
- 서버 : ubuntu 22.04.4 LTS
1. 로컬 컴퓨터에서 SSH 키 생성
키 생성 명령어 입력
1
ssh-keygen -t rsa -b 4096 -C "홈 서버 로그인 키 / 2024.06.17"
-C
: comment 입력-t
: 키 유형 설정-b
: 키 길이(bit) 설정
키 저장 위치 지정
Enter file in which to save the key (C:\Users\xh/.ssh/id_rsa):
저장할 위치를 입력한 후 엔터를 입력한다.
기본 위치로 저장하려는 경우 바로 엔터를 입력해준다.
1
Enter file in which to save the key (C:\Users\xh/.ssh/id_rsa): C:\Users\me\.ssh\id_rsa
.ssh
까지는 디렉터리 경로id_rsa
는 키 이름
비밀번호 추가
Enter passphrase (empty for no passphrase):
생략 가능한 부분으로 비밀번호를 추가하면 보안이 조금 더 강력해진다.
생략하려면 바로 엔터 입력
1
2
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
2. 공개 키 서버로 복사
windows에서 생성된 공개 키 확인
1
cat C:\Users\me\.ssh\id_rsa.pub
서버 접속
기존에 사용하던 방법으로 ssh 프로그램(putty) 등을 통해 서버에 접속한다.
그리고 ~/.ssh/authorized_keys 위치에 공개 키를 추가해준다.
1
2
3
4
5
6
7
# ~/.ssh 디렉터리가 없는 경우
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# authorized_keys에 키 추가
echo "your_copied_public_key" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
3. ssh 설정 변경
ssh 설정 파일 실행
1
sudo vi /etc/ssh/sshd_config
아래 항목 찾아 수정
1
2
3
4
5
6
7
8
# 공개키를 통해 ssh root 로그인 허용
PermitRootLogin prohibit-password
# 비밀번호 인증 거부
PasswordAuthentication no
# 공개키 인증 허용
PubkeyAuthentication yes
ssh 서비스 재시작
1
sudo systemctl restart sshd
서비스 재시작 후 putty 등을 이용해서 기존에 사용하던 비밀번호로 서버에 접속해보면 접속 실패하는 걸 확인할 수 있다.
생성한 private key를 통해 로그인을 시도하면 성공하는 것도 확인할 수 있다!
참고한 사이트
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.