[Server/Linux] ubuntu 기반 VM ssh key 등록Deployment/Server2025. 9. 10. 21:06
Table of Contents
반응형
1. ssh 키파일 쌍 생성

mobaxterm을 설치한 이후에 tools를 클릭하자

Generate를 누르고 지금 ssh-rsa가 있는 부분에 마우스를 마구마구 흔들면 키가 생성된다.여기서
publickey랑 Public key for pasting into OpenSSH server 에있는 ssh-rsa ~~~부분을 메모장에 저장해두자

위에있는 Conversions를 누르고 Export OpenSSH key를 눌러서 private key를 .pem방식으로 생성하자
여기까지 마무리했다면 모든 창을 닫아도된다.
2. VM 계정 생성
계정 생성
# 1. 사용자 추가
sudo adduser idname
# 2. SSH 디렉토리 생성
sudo mkdir -p /home/idname/.ssh
# 3. 디렉토리 소유자 변경
sudo chown -R idname:idname /home/idname/.ssh
# 4. 권한 설정 (소유자만 접근 가능)
sudo chmod 700 /home/idname/.ssh- 사용자 추가
- idname으로 사용자를 추가한다. 원한는 대로 사용자를 추가하면 된다. idname을 원하는 계정 이름으로 변경하자
- SSH 디렉토리 생성
- 사용자 홈 디렉토리 ~ 밑의 .ssh/는 OpenSSH가 기본적으로 공개키 인증을 찾는 경로이다. 그래서 다른경로를 쓰고 싶으면 /etc/ssh/sshd_confi에서 AuthorizedKeysFile 옵션을 수정해야하는데, 이를 건들면 나중에 다른사람이 유지보수 하기도 힘들고 그래서 기본값을 사용한다.
- 보안상에 이유로 홈디렉토리 이회 위치를 쓰면 관리도 복잡해 질수 있음으로 같은 이름 같은 디렉토리로 사용한다.
- 따라서 생성한 사용자 이름으로 통일해주는것 그리고 디렉토리 경로도 맞춰주는 것을 추천한다.
- 디렉토리 소유자 변경
나중에 디렉토리에 public key가 들어갈꺼기 때문이다. root계정으로는 sudo를 통해서 접근 가능하다. - 권한 설정
3번이랑 같은 이유로 사용한다.
서버에 공개 키 및 계정에 등록
# 1. idname 계정의 authorized_keys 파일에 공개키 등록
sudo bash -c 'cat >> /home/idname/.ssh/authorized_keys' <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQ... idname@oci
EOF
# 2. authorized_keys 파일 소유자를 idname 계정으로 변경
sudo chown idname:idname /home/idname/.ssh/authorized_keys
# 3. authorized_keys 파일 권한을 600(소유자만 읽기/쓰기)으로 설정
sudo chmod 600 /home/idname/.ssh/authorized_keys
# 4. idname 계정의 비밀번호 로그인 잠금 (공개키 인증만 허용)
sudo passwd -l idname- idname 계정 공개키 등록
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQ... <- 여기 부분에 아까 step 1에서 생성한 ssh-rsa를 입력하면된다.
- authorized_keys 파일 소유자 idname으로 변경
- 말그대로 key소유자를 idname으로 변경해서 다른 사용자가 접근하지 못하도록한다.
- 2번의 과정설명과 같다.
- 계정 비밀번호 로그인 못하도록 잠금
- 계정을 사용할때 비밀번호를 사용할수 없고 필수적으로 private key를 사용하도록한다.
접속 테스트
ssh -i ~/privatekey경로 idname@서버 IP이제 다음과 같이 명령을 만들면된다.
step1에서 만든 private key를 사용해서 idname 계정으로 서버 IP에 접속해볼수 있다.
key는 무조건 맞는 쌍으로 진행해야하며 절대 어딘가에 공개해서는 안된다. 조심고 또 조심하자
반응형
'Deployment > Server' 카테고리의 다른 글
| [DP/Server] HTTPS 프록시 환경 Spring Boot 요청 스킴 인식 오류 해결 (0) | 2026.06.15 |
|---|---|
| [Server/ssh] SSH 접속 및 private, public key 이해하기 (0) | 2025.09.10 |
| [Server/NGINX] NGINX 설치 & 설명에 대한 모든 것 (0) | 2024.12.06 |
@코딩하는 자연대생 :: 자연대생도 코딩을 하고 싶어