Linux 셸에서 SSH 키를 만들고 설치하는 방법

0
386
쉘 프롬프트를 보여주는 리눅스 노트북
Fatmawati Achmad Zaenuri / Shutterstock.com

사이버 보안을 심각하게 생각하고 SSH 키를 사용하여 원격 로그인에 액세스하십시오. 비밀번호보다 더 안전한 연결 방법입니다. Linux에서 SSH 키를 생성, 설치 및 사용하는 방법을 보여줍니다.

비밀번호에 어떤 문제가 있습니까?

SSH (Secure Shell)는 원격 Linux 또는 Unix와 유사한 컴퓨터에서 사용자 계정에 로그인하는 데 사용되는 암호화 된 프로토콜입니다. 일반적으로 이러한 사용자 계정은 비밀번호를 사용하여 보호됩니다. 원격 컴퓨터에 로그인 할 때 로그인하는 계정의 사용자 이름과 비밀번호를 제공해야합니다.

암호는 컴퓨팅 리소스에 대한 액세스를 보호하는 가장 일반적인 수단입니다. 그럼에도 불구하고 암호 기반 보안에는 결함이 있습니다. 사람들은 약한 암호를 선택하고 암호를 공유하며 여러 시스템에서 동일한 암호를 사용하는 등의 작업을합니다.

SSH 키는 훨씬 더 안전하며 일단 설정되면 암호처럼 사용하기 쉽습니다.

SSH 키를 안전하게 만드는 것은 무엇입니까?

SSH 키는 쌍으로 만들어져 사용됩니다. 두 개의 키는 연결되어 있으며 암호로 안전합니다. 하나는 공개 키이고 다른 하나는 개인 키입니다. 그들은 당신의 사용자 계정에 묶여 있습니다. 단일 컴퓨터의 여러 사용자가 SSH 키를 사용하는 경우 각자 고유 한 키 쌍을받습니다.

개인 키는 일반적으로 홈 폴더에 설치되고 공개 키는 액세스해야하는 원격 컴퓨터 또는 컴퓨터에 설치됩니다.

개인 키는 안전하게 유지해야합니다. 다른 사람이 액세스 할 수 있으면 사용자가 비밀번호를 찾은 것과 같은 위치에 있습니다. 적절한 암호를 사용하여 컴퓨터에서 개인 키를 암호화하는 것이 현명하고 권장되는 방법입니다.

공개 키는 보안에 영향을주지 않고 자유롭게 공유 할 수 있습니다. 공개 키를 검사하여 개인 키가 무엇인지 확인할 수 없습니다. 개인 키는 개인 키만 해독 할 수있는 메시지를 암호화 할 수 있습니다.

연결을 요청하면 원격 컴퓨터는 공개 키 복사본을 사용하여 암호화 된 메시지를 만듭니다. 메시지에는 세션 ID 및 기타 메타 데이터가 포함됩니다. 개인 키를 소유 한 컴퓨터 (컴퓨터) 만이 메시지를 해독 할 수 있습니다.

컴퓨터가 개인 키에 액세스하여 메시지를 해독합니다. 그런 다음 자체 암호화 된 메시지를 원격 컴퓨터로 다시 보냅니다. 무엇보다도이 암호화 된 메시지에는 원격 컴퓨터에서받은 세션 ID가 포함됩니다.

이제 원격 컴퓨터는 개인 키만 컴퓨터로 보낸 메시지에서 세션 ID를 추출 할 수 있기 때문에 자신이 누구인지 알고 있어야합니다.

원격 컴퓨터에 액세스 할 수 있는지 확인

원격 컴퓨터에 원격으로 연결하고 로그인 할 수 있는지 확인하십시오. 이는 사용자 이름과 암호가 원격 컴퓨터에 유효한 계정을 설정하고 자격 증명이 올바르다는 것을 증명합니다.

비밀번호가있는 SSH를 사용하여 대상 컴퓨터에 연결할 수 있음을 확인할 때까지 SSH 키로 아무 것도 시도하지 마십시오.

이 예에서 사용자 계정이있는 사람은 dave 컴퓨터에 로그인 howtogeek . 그들은 다른 컴퓨터에 연결하려고합니다 Sulaco.

다음 명령을 입력하십시오.

ssh dave@sulaco

터미널 창에서 ssh dave @ sulaco

그들은 암호를 묻고 입력하고 Sulaco에 연결합니다. 이를 확인하기 위해 명령 행 프롬프트가 변경됩니다.

ssh와 비밀번호를 사용하여 사용자 dave가 sulaco에 연결됨

그게 우리에게 필요한 확인입니다. 그래서 사용자 dave 연결을 끊을 수있다 Sulaco 와 더불어 exit 명령:

exit

사용자 dave가 sulaco에서 연결을 끊었습니다.

연결 해제 메시지가 수신되고 명령 행 프롬프트가 dave@howtogeek.

관련 : Windows, macOS 또는 Linux에서 SSH 서버에 연결하는 방법

SSH 키 쌍 생성

이 지침은 Linux의 Ubuntu, Fedora 및 Manjaro 배포판에서 테스트되었습니다. 모든 경우에 프로세스는 동일했으며 테스트 시스템에 새 소프트웨어를 설치할 필요가 없었습니다.

SSH 키를 생성하려면 다음 명령을 입력하십시오.

ssh-keygen

터미널 창에서 ssh-keygen

생성 프로세스가 시작됩니다. SSH 키를 저장할 위치를 묻는 메시지가 나타납니다. 기본 위치를 승인하려면 Enter 키를 누르십시오. 폴더에 대한 권한은 사용을 위해서만 폴더를 보호합니다.

터미널 창에서 SSH 키 저장 위치 확인

이제 암호를 입력하라는 메시지가 표시됩니다. 여기에 암호를 입력하는 것이 좋습니다. 그리고 그것이 무엇인지 기억하십시오! 암호를 입력하지 않으려면 Enter 키를 누를 수 있지만 이는 좋은 생각이 아닙니다. 서로 연결되지 않은 3 ~ 4 개의 단어로 구성된 암호는 매우 강력한 암호를 만듭니다.

터미널 창에서 암호 입력을위한 프롬프트

입력 한 생각을 입력했는지 확인하기 위해 동일한 암호를 한 번 더 입력하라는 메시지가 표시됩니다.

SSH 키가 생성되어 저장됩니다.

키 생성 완료 및 임의의 아트가 터미널 창에 표시

표시되는“randomart”는 무시해도됩니다. 일부 원격 컴퓨터는 연결할 때마다 임의의 아트를 보여줄 수 있습니다. 아이디어는 임의의 아트가 변경되는지 인식하고 해당 서버의 SSH 키가 변경되었음을 의미하므로 연결에 의심됩니다.

공개 키 설치

공개 키를 설치해야합니다 Sulaco 공개 키가 사용자의 소유임을 알 수 있습니다.

우리는 이것을 사용하여 ssh-copy-id 명령. 이 명령은 일반 컴퓨터처럼 원격 컴퓨터에 연결합니다 ssh 명령을 사용하지만 로그인하는 대신 공개 SSH 키를 전송합니다.

ssh-copy-id dave@sulaco

ssh-copy-id dave @ sulaco

원격 컴퓨터에 로그인하지 않아도 여전히 비밀번호를 사용하여 인증해야합니다. 원격 컴퓨터는 새 SSH 키가 속한 사용자 계정을 식별해야합니다.

여기에 입력해야하는 비밀번호는 로그인 한 사용자 계정의 비밀번호입니다. 이것은 아니 방금 만든 암호.

터미널 창에 비밀번호 프롬프트가있는 ssh-copy-id

비밀번호가 확인되면 ssh-copy-id 공개 키를 원격 컴퓨터로 전송합니다.

컴퓨터의 명령 프롬프트로 돌아갑니다. 원격 컴퓨터에 연결되어 있지 않습니다.

터미널 창에서 pulic 키가 성공적으로 전송되었습니다

SSH 키를 사용하여 연결

제안 사항을 따르고 원격 컴퓨터에 연결해 봅시다.

ssh dave@sulaco

터미널 창에서 ssh dave @ sulaco

연결 과정에서 개인 키에 액세스해야하고 암호 문구 뒤에 SSH 키를 보호해야하므로 연결을 진행할 수 있도록 암호 문구를 제공해야합니다.

암호 요청 대화 상자

암호를 입력하고 잠금 해제 버튼을 클릭하십시오.

터미널 세션에서 암호를 입력하면 터미널 창이 열려있는 동안 암호를 다시 입력 할 필요가 없습니다. 암호를 다시 입력하지 않고도 원하는 수의 원격 세션에 연결하거나 연결을 끊을 수 있습니다.

“로그인 할 때마다이 키 자동 잠금 해제”옵션의 확인란을 선택할 수 있지만 보안이 저하됩니다. 컴퓨터를 무인 상태로두면 누구나 공개 키가있는 원격 컴퓨터에 연결할 수 있습니다.

암호를 입력하면 원격 컴퓨터에 연결됩니다.

터미널 창에서 원격 컴퓨터 연결

프로세스를 한 번 더 확인하려면 exit 동일한 터미널 창에서 원격 컴퓨터에 명령을 다시 연결하십시오.

ssh dave@sulaco

터미널 창에서 SSH 키 연결 및 연결 끊기

비밀번호 나 비밀번호 문구없이 원격 컴퓨터에 연결됩니다.

비밀번호는 없지만 보안 강화

사이버 보안 전문가는 보안 마찰이라는 것에 대해 이야기합니다. 추가 보안을 얻기 위해 따라야하는 사소한 고통입니다. 보다 안전한 작업 방법을 채택하려면 일반적으로 몇 단계가 더 필요합니다. 그리고 대부분의 사람들은 그것을 좋아하지 않습니다. 실제로 보안 수준이 낮고 마찰이없는 것을 선호합니다. 그것은 인간의 본성입니다.

SSH 키를 사용하면 보안이 향상되고 편리 성이 향상됩니다. 그것은 확실한 승리입니다.