기계적 인조 인간

우분투 18.04에서 SSH 키를 설정하는 방법

차례:

Anonim

SSH (Secure Shell)는 클라이언트와 서버 간의 보안 연결에 사용되는 암호화 네트워크 프로토콜이며 다양한 인증 메커니즘을 지원합니다.

가장 널리 사용되는 두 가지 메커니즘은 암호 기반 인증 및 공개 키 기반 인증입니다. SSH 키를 사용하는 것이 기존 비밀번호 인증보다 안전하고 편리합니다.

이 튜토리얼에서는 Ubuntu 18.04 시스템에서 SSH 키를 생성하는 방법을 안내합니다. 또한 SSH 키 기반 인증을 설정하고 비밀번호를 입력하지 않고 원격 Linux 서버에 연결하는 방법을 보여줍니다.

우분투에서 SSH 키 만들기

새로운 SSH 키 쌍을 먼저 생성하기 전에 Ubuntu 클라이언트 시스템에서 기존 SSH 키를 확인하십시오. 다음 ls 명령을 실행하여이를 수행 할 수 있습니다.

ls -l ~/.ssh/id_*.pub

위의 명령이 No such file or directory 또는 no matches found No such file or directory 것을 인쇄하면 클라이언트 시스템에 SSH 키가 없으며 다음 단계를 진행하여 SSH 키 쌍을 생성 할 수 있음을 의미합니다.

기존 키가있는 경우 해당 키를 사용하고 다음 단계를 건너 뛰거나 이전 키를 백업하고 새 키를 생성 할 수 있습니다.

다음을 입력하여 주석으로 이메일 주소로 새로운 4096 비트 SSH 키 쌍을 생성하십시오.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

결과는 다음과 같습니다.

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

기본 파일 위치 및 파일 이름을 승인하려면 Enter 를 누르 Enter .

다음으로 보안 암호를 입력하라는 메시지가 표시됩니다. 암호를 사용하든, 그것은 당신에게 달려 있습니다. 암호를 사용하도록 선택하면 추가 보안 계층이 제공됩니다.

Enter passphrase (empty for no passphrase):

전체 상호 작용은 다음과 같습니다.

새 SSH 키 쌍이 생성되었는지 확인하려면 다음을 입력하십시오.

ls ~/.ssh/id_*

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

공개 키를 우분투 서버에 복사

SSH 키 페어를 생성 했으므로 다음 단계는 공개 키를 관리하려는 서버에 복사하는 것입니다.

공개 키를 서버에 복사하는 가장 쉽고 권장되는 방법은 ssh-copy-id 유틸리티를 사용하는 것입니다. 로컬 머신 터미널 유형에서:

ssh-copy-id remote_username@server_ip_address

remote_username 비밀번호를 입력하라는 메시지가 표시됩니다.

remote_username@server_ip_address's password:

사용자가 인증되면 ~/.ssh/id_rsa.pub 공개 키가 원격 사용자 ~/.ssh/authorized_keys 파일에 추가되고 연결이 닫힙니다.

Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.

어떤 이유로 로컬 컴퓨터에서 ssh-copy-id 유틸리티를 사용할 수없는 경우 다음 명령을 사용하여 공개 키를 복사 할 수 있습니다.

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

SSH 키를 사용하여 서버에 로그인

위의 단계를 완료 한 후 비밀번호를 묻지 않고 원격 서버에 로그인 할 수 있어야합니다.

테스트하려면 SSH를 통해 서버에 로그인하십시오.

ssh remote_username@server_ip_address

SSH 비밀번호 인증 비활성화

암호 인증을 비활성화하면 서버에 보안 계층이 추가됩니다.

SSH 비밀번호 인증을 비활성화하기 전에 비밀번호없이 서버에 로그인 할 수 있고 로그인 한 사용자에게 sudo 권한이 있는지 확인하십시오.

원격 서버에 로그인하십시오.

ssh sudo_user@server_ip_address

텍스트 편집기로 SSH 구성 파일 /etc/ssh/sshd_config 십시오.

sudo nano /etc/ssh/sshd_config

다음 지시문을 검색하고 다음과 같이 수정하십시오.

/ etc / ssh / sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

완료되면 파일을 저장하고 다음을 입력하여 SSH 서비스를 다시 시작하십시오.

sudo systemctl restart ssh

이때 비밀번호 기반 인증이 비활성화됩니다.

결론

이 학습서에서는 새 SSH 키 쌍을 생성하고 SSH 키 기반 인증을 설정하는 방법을 학습했습니다. 여러 원격 서버에 동일한 키를 추가 할 수 있습니다. 또한 SSH 비밀번호 인증을 비활성화하고 서버에 추가 보안 계층을 추가하는 방법도 보여주었습니다.

기본적으로 SSH는 포트 22에서 수신 대기합니다. 기본 SSH 포트를 변경하면 자동 공격의 위험이 줄어 듭니다.

우분투 SSH 보안