리눅스에서 SSH 키 기반 인증을 사용하면 비밀번호를 입력하지 않고도 서버에 로그인할 수 있습니다. SSH 키 기반 인증을 사용하려면 먼저 클라이언트와 서버에 SSH 키를 생성하고, 서버에 클라이언트의 SSH 키를 등록해야 합니다.

다음은 SSH 키 기반 인증을 확인하는 방법에 대한 예제입니다.

클라이언트에서 SSH 키 생성

클라이언트에서 SSH 키를 생성하려면 다음 명령어를 사용합니다.

$ ssh-keygen

이 명령어는 다음과 같은 질문을 합니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
  • 암호화 알고리즘을 선택하십시오. (RSA)
  • 암호를 입력하십시오. (비어 둘 수 있습니다.)
  • 암호를 다시 입력하십시오. (비어 둘 수 있습니다.)

암호화 알고리즘으로 RSA를 선택하고, 암호는 비어 둘 수 있습니다. 암호를 비어 두면 비밀번호를 입력하지 않고 SSH 키를 사용할 수 있습니다.

SSH 키가 생성되면 다음과 같은 파일이 생성됩니다.

  • ~/.ssh/id_rsa (개인 키)
  • ~/.ssh/id_rsa.pub (공개 키)

클라이언트에서 SSH 키 서버에 등록

클라이언트에서 생성한 SSH 키를 서버에 등록하려면 다음 명령어를 사용합니다.

$ ssh-copy-id student@server

이 명령어는 서버의 ~/.ssh/authorized_keys 파일에 클라이언트의 공개 키를 추가합니다.

서버에서 SSH 키 기반 인증 사용 설정

서버에서 SSH 키 기반 인증을 사용하려면 /etc/ssh/sshd_config 파일에서 다음 설정을 변경합니다.

PasswordAuthentication no

이 설정을 변경하면 비밀번호를 사용하여 SSH로 로그인할 수 없게 됩니다.

서버에서 SSH 키 확인

서버에서 SSH 키를 확인하려면 다음 명령어를 사용합니다.

$ cd ./.ssh/ ; ls authorized_keys

이 명령어는 authorized_keys 파일의 내용을 출력합니다. 출력 결과에 클라이언트의 공개 키가 포함되어 있으면 SSH 키 기반 인증이 성공적으로 설정된 것입니다.

리눅스 SSH 키 기반 인증 실습 예제

다음은 desktop과 server에서 SSH 키 기반 인증을 설정하고 확인하는 예제입니다.

desktop

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/student/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/student/.ssh/id_rsa.
Your public key has been saved in /home/student/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

server

# vim /etc/ssh/sshd_config
#PasswordAuthentication yes
PasswordAuthentication no
#
#Save the file and exit the editor.
#
#Reload the SSH daemon.
#
#systemctl reload sshd

desktop

# ssh-copy-id student@server
The authenticity of host 'server (192.168.1.10)' can't be established.
ECDSA key fingerprint is SHA256:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server,192.168.1.10' (ECDSA) to the list of known hosts.
student@server's password:

server

# cd ./.ssh/ ; ls authorized_keys
student@desktop's public key

이 예제에서 desktop의 student 사용자는 server에 ssh key 기반 인증을 사용하여 로그인할 수 있습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

아마존 해외 구매: 서버, 네트워크, 노트북 구매

Amazon Best Sellers Servers

Amazon Best Sellers Networking

Amazon Best Sellers Laptops

위로 스크롤