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

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

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

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

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

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

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

SSH 키는 쌍으로 생성되고 사용됩니다. 두 개의 키는 연결되어 있고 암호학적으로 안전합니다. 하나는 공개 키이고 다른 하나는 개인 키입니다. 사용자 계정에 연결되어 있습니다. 단일 컴퓨터의 여러 사용자가 SSH 키를 사용하는 경우 각자 고유한 키 쌍을 받게 됩니다.

개인 키는 홈 폴더(보통)에 설치되고 공개 키는 사용자가 액세스해야 하는 원격 컴퓨터(또는 컴퓨터)에 설치됩니다.

개인 키는 안전하게 보관해야 합니다. 다른 사람이 액세스할 수 있는 경우 다른 사람이 귀하의 비밀번호를 발견한 것과 동일한 위치에 있게 됩니다. 합리적이고 적극 권장되는 예방 조치는 개인 키가 강력한 암호.

공개 키는 보안을 손상시키지 않고 자유롭게 공유할 수 있습니다. 공개 키를 조사하여 개인 키가 무엇인지 판별하는 것은 불가능합니다. 개인 키는 개인 키만 해독할 수 있는 메시지를 암호화할 수 있습니다.

  Teleconsole과 온라인으로 Linux 터미널을 공유하는 방법

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

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

원격 컴퓨터는 이제 당신이 말하는 사람이어야 한다는 것을 알고 있습니다. 왜냐하면 당신의 개인 키만이 당신의 컴퓨터에 보낸 메시지에서 세션 ID를 추출할 수 있기 때문입니다.

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

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

대상 컴퓨터에 연결하기 위해 암호가 있는 SSH를 사용할 수 있음을 확인할 때까지 SSH 키로 아무 작업도 시도하지 마십시오.

이 예에서 dave 라는 사용자 계정을 가진 사람이 wdzwdz 라는 컴퓨터에 로그인했습니다. 그들은 Sulaco라는 다른 컴퓨터에 연결할 것입니다.

다음 명령을 입력합니다.

ssh [email protected]

비밀번호를 묻고 입력하면 Sulaco에 연결됩니다. 이를 확인하기 위해 명령줄 프롬프트가 변경됩니다.

그것이 우리에게 필요한 모든 확인입니다. 따라서 사용자 dave는 exit 명령을 사용하여 Sulaco에서 연결을 끊을 수 있습니다.

exit

연결 해제 메시지를 수신하고 명령줄 프롬프트가 다음으로 돌아갑니다. [email protected]

SSH 키 쌍 생성

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

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

ssh-keygen

생성 프로세스가 시작됩니다. SSH 키를 저장할 위치를 묻는 메시지가 표시됩니다. Enter 키를 눌러 기본 위치를 수락합니다. 폴더에 대한 권한은 사용자만 사용할 수 있도록 보호합니다.

이제 암호를 입력해야 합니다. 여기에 암호를 입력하는 것이 좋습니다. 그리고 그것이 무엇인지 기억하십시오! Enter 키를 눌러 암호가 없을 수 있지만 이는 좋은 생각이 아닙니다. 세 개 또는 네 개의 연결되지 않은 단어로 구성된 암호구를 함께 연결하면 매우 강력한 암호구를 만들 수 있습니다.

  Podfox를 사용하여 Linux 터미널에서 Podcast를 다운로드하는 방법

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

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

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

공개 키 설치

원격 컴퓨터인 Sulaco에 귀하의 공개 키를 설치해야 공개 키가 귀하의 것임을 알 수 있습니다.

ssh-copy-id 명령을 사용하여 이 작업을 수행합니다. 이 명령은 일반 ssh 명령과 같이 원격 컴퓨터에 연결하지만 로그인을 허용하는 대신 공개 SSH 키를 전송합니다.

ssh-copy-id [email protected]

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

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

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

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

SSH 키를 사용하여 연결

제안에 따라 원격 컴퓨터에 연결해 보겠습니다.

ssh [email protected]

연결 프로세스에는 개인 키에 대한 액세스가 필요하고 SSH 키를 암호로 보호했기 때문에 연결을 계속할 수 있도록 암호를 제공해야 합니다.

암호를 입력하고 잠금 해제 버튼을 클릭합니다.

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

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

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

프로세스를 끝에서 끝까지 다시 한 번 확인하려면 exit 명령으로 연결을 끊고 동일한 터미널 창에서 원격 컴퓨터에 다시 연결합니다.

ssh [email protected]

암호나 암호가 필요 없이 원격 컴퓨터에 연결됩니다.

  Linux 랩톱에 대한 사용자 지정 배터리 경고를 만드는 방법

암호는 없지만 보안 강화

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

SSH 키를 사용하면 보안이 강화되고 편의성이 높아집니다. 그것은 확실한 윈-윈입니다.