[Server/Linux] ubuntu 기반 VM ssh key 등록Deployment/Server2025. 9. 10. 21:06
Table of Contents
728x90
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는 무조건 맞는 쌍으로 진행해야하며 절대 어딘가에 공개해서는 안된다. 조심고 또 조심하자
728x90
'Deployment > Server' 카테고리의 다른 글
| [Server/ssh] SSH 접속 및 private, public key 이해하기 (0) | 2025.09.10 |
|---|---|
| [Server/NGINX] NGINX 설치 & 설명에 대한 모든 것 (0) | 2024.12.06 |
@코딩하는 자연대생 :: 자연대생도 코딩을 하고 싶어