VMware ESXi서버에 ssh접속할 때 공개키 인증으로 변경하는 방법

Tools Tips

이 글에서는 VMware ESXi 7.0.3로 ssh접속할 때 패스워드를 입력받는 유저인증이 아닌 패스워드가 필요없는 공개키 인증을 하는 방법을 소개합니다. (두 Linux 호스트 간에 OpenSSH 공개 키 인증을 사용하여 SSH 액세스를 설정하는 일반적인 절차와 동일합니다. )

일련의 ssh접속 명령을 연속으로 실행하는 Shell Script를 작성하는 경우 매번 Password를 입력 받는 유저인증으로는 제대로된 연속 실행을 실현할 수 없습니다. 공개키/개인키 페어를 만들어 ssh서버 쪽에는 공개키 , 클라이언트 쪽에는 개인키를 등록하면 Password입력없이 로그인 할 수 있습니다.

기존 패스워드 입력 유저인증

ssh접속하는 서버쪽 유저에 패스워드가 등록되어 있다면 다음과 같은 접속에 패스워드를 입력해야 합니다. root유저로 192.168.1.10서버에 ssh프로토콜로 접속하는 명령은 다음과 같습니다.

# ssh -l root 192.168.1.10
Password:********

개인키/공개키 인증으로 변경하기

다음 그림과 같이 개인키/공개키 페어를 생성하고 공개키를 접속 대상 컴퓨터의 authorized_keys파일에 등록하여 패스워드 인증없이 접속하는 방법입니다.

키 페어 만들기

ssh-keygen 명령을 사용하여 다음과 같이 현재 유저의 홈 디렉토리 아래에 .ssh/ 디렉토리를 만들고 id_rsa와 id_rsa.pub파일을 만듭니다. 이 키 페어도 패스워드를 지정할 수 있지만 키 페어를 액세스할 때 패스워드를 입력해야 하므로 여기서는 패스워드를 지정하지않고 키 페어를 만듭니다.

# /usr/lib/vmware/openssh/bin/ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (//.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in //.ssh/id_rsa
Your public key has been saved in //.ssh/id_rsa.pub
The key fingerprint is:
SHA256:i6N1s8yYisULu2OIMPkb62RolfffFacNAHOq8qZf4AQ root@vmware001
The key's randomart image is:
+---[RSA 3072]----+
|         o .     |
|          =      |
|     E   . .     |
|    . . .   .    |
| . o o +S    o . |
|+.... *...    *  |
|+== o +=+.   o . |
|+o+B +oBoo. .    |
| oB++o+.+. .     |
+----[SHA256]-----+
[root@vmware001:/.ssh]

키 페이 확인하기

다음 명령으로 작성된 키 페어를 확인합니다.

# ls -l .ssh/
total 12
-rw-------    1 root     root          2655 Jan 30 03:53 id_rsa
-rw-r--r--    1 root     root           569 Jan 30 03:53 id_rsa.pub

공개 키를 서버에 설정하기

# mv .ssh/id_rsa.pub /etc/ssh/keys-root/authorized_keys
# cat /etc/ssh/keys-root/authorized_keys
ssh-rsa XXXXB3NzaC1yc2 ...중간 생략... uF7JO7BPoa21pnJYNe8HSk1m7fc= root@vmware001
# vi .ssh/id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
NhAAAAAwEAAQAAAYEA5RgfopG7Qihgo6RNPPJWgGIVk3VkrwSNELRvG2iCFhXcgmdfHYWW
... 중간 생략 ...
bYOS/vctlRJc/0E15MfsalgsLaF3bNLXv1NXUWfXKFI2AXdUAxw9NDu9RXDqb7L5OI4FJo
CY2sQDag3mi3kAAAAPcm9vdEB3ZWVkc2h2MDExAQIDBA==
-----END OPENSSH PRIVATE KEY-----

개인키/공개키 인증으로 서버에 접속

# ssh -l root 192.168.1.10

댓글

제목과 URL을 복사했습니다