Ubuntu 20.04에서 SSH 키를 설정하는 방법

How Set Up Ssh Keys Ubuntu 20



이것은 Ubuntu 20.04에서 SSH 키를 설정하는 방법을 배우는 연습입니다. SSH 키는 서버의 안전과 사용자 로그인 프로세스가 보안을 위협하지 않도록 합니다. 일반적인 비밀번호 인증 시스템을 제쳐두고 그렇게 합니다.

간단히 말해서 SSH 또는 '보안 셸'은 암호화된 프로토콜로, 이를 통해 원격으로 서버에 연결하고 관련 정보에 액세스할 수 있습니다. 보안을 손상시키지 않고 안전한 로그인 방법을 제공하기 위해 훨씬 더 안전한 로그인 방법을 제공합니다.







1단계: 키 쌍 생성

먼저 다음을 입력하여 루트 액세스 권한이 있는 클라이언트 시스템에서 키 쌍을 만드는 것으로 시작합니다.



$SSH 키젠



이것은 기본적으로 3072비트 RSA 키 쌍을 생성하도록 최신 ssh-keygen을 트리거합니다. –b 4086 플래그를 추가하여 더 큰 키를 생성할 수 있습니다. Enter 키를 누르면 키 쌍이 .ssh/ 하위 디렉토리에 저장됩니다. 키가 이미 설치된 서버의 게스트인 경우 덮어쓸지 여부를 묻는 메시지가 표시됩니다. 이 경우 'y'를 입력하여 예를 표시합니다.





다음으로 암호를 추가할 것인지 묻는 메시지가 표시됩니다. 선택 해제할 수 있지만 하나를 추가하는 것이 좋습니다. 권한이 없는 사용자를 우회하는 추가 보호 계층을 제공하여 보안 프로토콜을 강화합니다.

2단계: 공개 키를 서버에 복사

다음으로 공개 키를 우분투 서버로 전송해야 합니다.



다음 명령을 사용하여 ssh-copy-id 유틸리티를 사용할 수 있습니다.

$ssh-copy-id 사용자 이름@서버 호스트

이것은 단 몇 초 안에 트릭을 수행해야 합니다. 키가 성공적으로 복사되었으면 세 번째 단계로 이동합니다.

때로는 ssh-copy-id 메서드가 실패하거나 단순히 사용할 수 없는 경우가 있습니다. 이 경우 비밀번호 기반 SSH를 통해 복사해야 합니다. 이것은 cat 명령을 사용하여 수행할 수 있으며 콘텐츠를 덮어쓰는 대신 >> 기호를 추가하여 콘텐츠에 추가해야 합니다.

$고양이~/.ssh/id_rsa.pub| SSHremote_username@서버 IP 주소
'mkdir -p ~/.ssh && 고양이 >> ~/.ssh/authorized_keys'

새 호스트에 처음 연결하는 경우 시스템에 다음과 같은 내용이 표시됩니다.

yes를 입력하고 Enter 버튼을 누르십시오. 그런 다음 사용자 액세스 계정의 비밀번호를 입력하면 공개 키가 Ubuntu 서버에 복사됩니다.

어떤 이유로 암호 기반 SSH 액세스가 거부된 경우 고정할 수 없는 경우 항상 공개 키를 수동으로 복사할 수 있습니다. 원격 시스템의 id_rsa.pub 파일에 ~/.ssh/authorized_keys를 추가합니다. 그런 다음 원격 서버 계정에 로그온하여 ~SSH 디렉터리가 있는지 확인합니다. 그렇지 않은 경우 다음을 입력하십시오.

$mkdir -NS~/.ssh

이제 키를 추가하기만 하면 됩니다.

$던졌다public_key_string>>~/.ssh/Authorized_keys

$chmod -NS 가다= ~/.ssh

또한 ~SSH/ 사용자 디렉토리 및 아니다 루트 디렉토리:

$차우 -NS유니스:유니스~/.ssh

3단계: SSH 키 인증

다음 단계는 Ubuntu 서버에서 SSH 키를 인증하는 것입니다. 먼저 원격 호스트에 로그인합니다.

$SSH사용자 이름@원격 호스트

2단계에서 추가한 암호 키를 입력하라는 메시지가 표시됩니다. 입력하고 계속합니다. 인증에는 시간이 걸리며 완료되면 Ubuntu 서버의 새로운 대화형 셸로 이동합니다.

4단계: 비밀번호 인증 비활성화

SSH 키가 인증되면 더 이상 암호 인증 시스템이 필요하지 않습니다.

서버에서 암호 인증이 활성화되어 있으면 무차별 대입 공격을 통해 무단 사용자 액세스가 발생하기 쉽습니다. 따라서 암호 기반 인증을 비활성화하는 것이 좋습니다.

먼저 SSH 키 기반 인증이 준비되어 있는지 확인하십시오. 뿌리 이 서버의 계정. 그렇다면 이 서버의 sudo 권한 있는 사용자 액세스 계정으로 변경해야 긴급 상황이나 시스템이 의심스러운 활동에 직면할 때 관리자 액세스가 사용자에게 공개됩니다.

원격 액세스 계정에 관리자 권한을 부여한 후 루트 또는 sudo 권한이 있는 SSH 키를 사용하여 원격 서버에 로그인합니다. 그런 다음 다음 명령을 사용하여 SSH 데몬의 구성 파일에 액세스합니다.

$수도gedit//SSH/sshd_config

이제 파일을 연 상태에서 'PasswordAuthentication' 디렉토리를 검색하고 다음을 입력하여 비밀번호 인증 및 비밀번호 기반 SSH 로그인을 비활성화합니다.

$//SSH/sshd_config
. . .
비밀번호인증번호
. . .

이러한 변경 사항을 적용하려면 다음 명령을 사용하여 sshd 서비스를 다시 시작해야 합니다.

$수도systemctl 다시 시작SSH

예방 조치로 현재 세션을 닫기 전에 새 터미널 창을 열고 SSH 서비스가 올바르게 작동하는지 테스트하십시오.

확인된 SSH 키를 사용하면 모든 것이 정상적으로 작동하는 것을 볼 수 있습니다. 현재 서버 세션을 모두 종료할 수 있습니다.

결론

이제 SSH 키 기반 인증 시스템이 구축되었으므로 비밀번호 없이 간단히 로그인할 수 있으므로 취약한 비밀번호 인증 시스템이 더 이상 필요하지 않습니다. 이 튜토리얼이 도움이 되었기를 바랍니다.