Linux PC에서 OpenSSH에 대해 자세히 알아보기

Sep 20, 2025
개인 정보 보호 및 보안
캐치되지 않은 콘텐츠

우리는 보안과 원격 액세스 모두에서 SSH의 장점을 여러 번 찬양했습니다. 서버 자체, 몇 가지 중요한 "유지 관리"측면 및 부드러운 승차감에 난류를 추가 할 수있는 몇 가지 단점을 살펴 보겠습니다.

Linux를 염두에두고이 가이드를 작성했지만 이는 Mac OS X의 OpenSSH 및 Cygwin을 통한 Windows 7 .

안전한 이유

SSH가 한 지점에서 다른 지점으로 데이터를 안전하게 연결하고 터널링하는 좋은 방법 인 방법을 여러 번 언급했습니다. 때때로 상황이 이상해질 수있는 이유를 더 잘 이해할 수 있도록 작동 방식을 매우 간략하게 살펴 보겠습니다.

다른 컴퓨터에 대한 연결을 시작하기로 결정할 때 종종 작업하기 쉬운 프로토콜을 사용합니다. Telnet과 FTP가 모두 떠 오릅니다. 정보를 원격 서버로 보낸 다음 연결에 대한 확인을 다시받습니다. 특정 유형의 안전을 설정하기 위해 이러한 프로토콜은 종종 사용자 이름과 암호 조합을 사용합니다. 그것은 그들이 완전히 안전하다는 것을 의미합니다. 잘못된!

우리의 연결 프로세스를 메일이라고 생각하면 FTP와 Telnet 등을 사용하는 것은 표준 우편 봉투를 사용하는 것과 같지 않습니다. 엽서를 사용하는 것과 비슷합니다. 누군가가 중간에 들어 서면 두 사람의 주소와 발송 된 사용자 이름 및 비밀번호를 포함한 모든 정보를 볼 수 있습니다. 그런 다음 메시지를 변경하고 정보를 동일하게 유지하며 한 통신원 또는 다른 통신원으로 가장 할 수 있습니다. 이것은 "중간자 (man-in-the-middle)"공격으로 알려져 있으며 귀하의 계정을 손상시킬뿐만 아니라 보내고받은 모든 메시지에 대해 질문을 던집니다. 발신자와 통화 중인지 아닌지 확신 할 수 없으며, 그렇다고하더라도 그 사이의 모든 내용을보고있는 사람이 아무도 없다는 것을 확신 할 수 없습니다.

이제 HTTP를 더욱 안전하게 만드는 SSL 암호화를 살펴 보겠습니다. 여기에는 서신을 처리하고 수신자가 자신이 주장하는 사람이 누구인지 확인하는 우체국이 있으며, 귀하의 메일이 열람되지 않도록 보호하는 법률이 있습니다. 전체적으로 더 안전하며 중앙 기관인 Verisign이 HTTPS 예에서 하나입니다. 메일을 보내는 사람이 체크 아웃하도록합니다. 엽서 (암호화되지 않은 자격 증명)를 허용하지 않음으로써이를 수행합니다. 대신 그들은 실제 봉투를 요구합니다.

마지막으로 SSH를 살펴 보겠습니다. 여기에서는 설정이 약간 다릅니다. 여기에는 중앙 인증자가 없지만 모든 것은 여전히 ​​안전합니다. 그것은 당신이 이미 알고있는 주소를 가진 사람에게 편지를 보내고 있기 때문입니다. 예를 들어, 전화로 채팅을해서 편지를 보내고 봉투에 서명하기 위해 정말 멋진 수학을 사용하고 있기 때문입니다. 당신은 그것을 당신의 형제, 여자 친구, 아빠 또는 딸에게 넘겨 주소로 가져 가고,받는 사람의 멋진 수학 일치가있는 경우에만 당신은 주소가 그것이되어야한다고 가정합니까? 그런 다음이 멋진 수학으로 눈을 훔쳐 보는 것으로부터 보호되는 편지를 돌려받습니다. 마지막으로, 알고리즘 적으로 강화 된 다른 비밀 봉투에있는 자격 증명을 대상으로 보냅니다. 수학이 일치하지 않는 경우 원래 수신자가 이사했다고 가정 할 수 있으며 주소를 다시 확인해야합니다.

설명이있는 한 거기에서 잘라낼 것이라고 생각합니다. 더 많은 통찰력이 있으면 물론 댓글에서 자유롭게 채팅하십시오. 그러나 지금은 SSH의 가장 관련성 높은 기능인 호스트 인증을 살펴 보겠습니다.

호스트 키

호스트 인증은 기본적으로 신뢰할 수있는 사람이 봉투 (매직 수학으로 봉인 됨)를 가져와 수신자의 주소를 확인하는 부분입니다. 주소에 대한 매우 상세한 설명이며, 바로 건너 뛸 몇 가지 복잡한 수학을 기반으로합니다. 하지만이 문제를 해결해야 할 몇 가지 중요한 사항이 있습니다.

  1. 중앙 권한이 없기 때문에 실제 보안은 호스트 키, 공개 키 및 개인 키에 있습니다. (후자의 두 키는 시스템에 대한 액세스 권한이 부여 될 때 구성됩니다.)
  2. 일반적으로 SSH를 통해 다른 컴퓨터에 연결할 때 호스트 키가 저장됩니다. 이는 향후 작업을 더 빠르게 (또는 덜 장황하게) 만듭니다.
  3. 호스트 키가 변경되면 경고를받을 가능성이 높으므로주의해야합니다!

SSH 서버의 ID를 설정하기 위해 인증 전에 호스트 키를 사용하므로 연결하기 전에 반드시 키를 확인해야합니다. 아래와 같은 확인 대화 상자가 표시됩니다.

하지만 걱정하지 마세요! 종종 보안이 문제가되는 경우 호스트 키 (위의 ECDSA 지문)를 확인할 수있는 특별한 장소가 있습니다. 완전히 온라인 벤처에서는 종종 보안 로그인 전용 사이트에 있습니다. 전화로이 키를 확인하기 위해 IT 부서에 전화를 걸어야 할 수도 있습니다 (또는 선택하십시오!). 업무 배지나 특별 "긴급 전화 번호"목록에 열쇠가있는 곳도 들어 본 적이 있습니다. 또한 대상 머신에 물리적으로 액세스 할 수있는 경우 직접 확인할 수도 있습니다!

시스템의 호스트 키 확인

키를 만드는 데 사용되는 암호화 알고리즘에는 4 가지 유형이 있지만 올해 초 OpenSSH의 기본값은 ECDSA ( 몇 가지 좋은 이유로 ). 오늘은 그것에 초점을 맞출 것입니다. 액세스 권한이있는 SSH 서버에서 실행할 수있는 명령은 다음과 같습니다.

ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key.pub -l

출력은 다음과 같이 반환되어야합니다.

256 ца : 62 : еа : щц : еч : яй : 2е : аш : яч : 20 : 11 : дб : яц : 78 : цз : чц /етц/сш/сш_хост_ецдса_кей.пуб

첫 번째 숫자는 키의 비트 길이이고 그 다음은 키 자체이며 마지막으로 파일이 저장되어 있습니다. 중간 부분을 원격으로 로그인하라는 메시지가 표시 될 때 표시되는 것과 비교합니다. 일치해야하며 모든 설정이 완료되었습니다. 그렇지 않으면 다른 일이 발생할 수 있습니다.

known_hosts 파일을 확인하여 SSH를 통해 연결 한 모든 호스트를 볼 수 있습니다. 일반적으로 다음 위치에 있습니다.

~ / .ssh / known_hosts

텍스트 편집기에서 열 수 있습니다. 보시면 키가 저장되는 방식에주의를 기울이십시오. 호스트 컴퓨터의 이름 (또는 웹 주소) 및 IP 주소와 함께 저장됩니다.

호스트 키 및 문제 변경

호스트 키가 변경되거나 known_hosts 파일에 기록 된 것과 일치하지 않는 몇 가지 이유가 있습니다.

  • 시스템이 재설치 / 재구성되었습니다.
  • 보안 프로토콜로 인해 호스트 키가 수동으로 변경되었습니다.
  • OpenSSH 서버가 업데이트되었으며 보안 문제로 인해 다른 표준을 사용하고 있습니다.
  • IP 또는 DNS 임대가 변경되었습니다. 이것은 종종 다른 컴퓨터에 액세스하려고한다는 것을 의미합니다.
  • 시스템이 어떤 방식 으로든 손상되어 호스트 키가 변경되었습니다.

대부분의 경우 문제는 처음 세 가지 중 하나이며 변경 사항을 무시할 수 있습니다. IP / DNS 임대가 변경된 경우 서버에 문제가있을 수 있으며 다른 컴퓨터로 라우팅 될 수 있습니다. 변경 이유가 무엇인지 확실하지 않은 경우 목록의 마지막 항목이라고 가정해야합니다.

OpenSSH가 알 수없는 호스트를 처리하는 방법

OpenSSH에는 "StrictHostKeyChecking"변수 (따옴표없이)에 반영된 알 수없는 호스트를 처리하는 방법에 대한 설정이 있습니다.

구성에 따라 알 수없는 호스트 (키가 known_hosts 파일에 아직없는 경우)와의 SSH 연결은 세 가지 방법으로 진행될 수 있습니다.

  • StrictHostKeyChecking이 no로 설정됩니다. OpenSSH는 호스트 키 상태에 관계없이 모든 SSH 서버에 자동으로 연결됩니다. 이것은 안전하지 않으며 권장되지 않습니다. 단, OS를 다시 설치 한 후 여러 호스트를 추가 한 후 다시 변경하는 경우를 제외하고는 권장되지 않습니다.
  • StrictHostKeyChecking은 ask로 설정됩니다. OpenSSH는 새 호스트 키를 표시하고 추가하기 전에 확인을 요청합니다. 연결이 변경된 호스트 키로 이동하는 것을 방지합니다. 이것이 기본값입니다.
  • StrictHostKeyChecking이 yes로 설정됩니다. "no"의 반대입니다. 이는 known_hosts 파일에 아직없는 호스트에 연결할 수 없도록합니다.

다음 패러다임을 사용하여 명령 줄에서이 변수를 쉽게 변경할 수 있습니다.

ssh -o 'StrictHostKeyChecking [option]'user @ host

[option]을 "아니요", "질문"또는 "예"로 바꿉니다. 이 변수와 설정을 둘러싼 작은 따옴표가 있음을 유의하십시오. 또한 user @ host를 연결하려는 서버의 사용자 이름과 호스트 이름으로 바꿉니다. 예를 들면 :

ssh -o 'StrictHostKeyChecking 요청'[email protected]

변경된 키로 인해 차단 된 호스트

키가 이미 변경된 상태에서 액세스하려는 서버가있는 경우 기본 OpenSSH 구성으로 인해 액세스 할 수 없습니다. 해당 호스트에 대한 StrictHostKeyChecking 값을 변경할 수는 있지만 완전히, 철저하고, 편집증 적으로 안전하지는 않습니다. 그렇지 않습니까? 대신 known_hosts 파일에서 문제가되는 값을 간단히 제거 할 수 있습니다.

화면에 표시되는 것은 확실히 추한 일입니다. 다행히도 우리의 이유는 재설치 된 OS 때문이었습니다. 이제 필요한 선을 확대 해 보겠습니다.

우리는 거기에 갈. 편집해야하는 파일을 어떻게 인용하는지 보십니까? 라인 번호도 알려줍니다! 이제 Nano에서 해당 파일을 열어 보겠습니다.

1 행에 문제가되는 키가 있습니다. Ctrl + K를 눌러 전체 행을 잘라 내면됩니다.

훨씬 낫습니다! 이제 Ctrl + O를 눌러 파일을 작성 (저장) 한 다음 Ctrl + X를 눌러 종료합니다.

이제 대신 "예"로 간단히 응답 할 수있는 멋진 프롬프트가 표시됩니다.

새 호스트 키 생성

기록을 위해 호스트 키를 변경해야하는 이유가 그리 많지는 않지만 필요한 경우 쉽게 변경할 수 있습니다.

먼저 적절한 시스템 디렉토리로 변경하십시오.

cd / etc / ssh /

이것은 일반적으로 전역 호스트 키가있는 곳이지만 일부 배포판에는 다른 곳에 배치되어 있습니다. 의심스러운 경우 문서를 확인하십시오!

다음으로 이전 키를 모두 삭제합니다.

sudo rm / etc / ssh / ssh_host_ *

또는 안전한 백업 디렉토리로 이동할 수 있습니다. 그냥 생각!

그런 다음 OpenSSH 서버에 자체 재구성을 지시 할 수 있습니다.

sudo dpkg-reconfigure openssh-server

컴퓨터에서 새 키를 만드는 동안 메시지가 표시됩니다. 따다!


이제 SSH가 어떻게 더 잘 작동하는지 알게 되었으니 어려운 상황에서 벗어날 수있을 것입니다. "원격 호스트 식별이 변경되었습니다"경고 / 오류는 명령 줄에 익숙한 사용자를 포함하여 많은 사용자를 방해하는 것입니다.

보너스 포인트를 확인하려면 암호를 입력하지 않고 SSH를 통해 원격으로 파일을 복사하는 방법 . 여기에서 다른 종류의 암호화 알고리즘과 추가 보안을 위해 키 파일을 사용하는 방법에 대해 조금 더 배웁니다.

Learn SSH Basics In Linux

How To Install And Use SSH On Linux


개인 정보 보호 및 보안 - 가장 인기있는 기사

Instagram의 모든 데이터를 보는 방법

개인 정보 보호 및 보안 Apr 15, 2025

인스 타 그램은 그만큼 사진을 공유 할 수있는 장소이며 대부분의 소셜 네트워크와 마찬가지로 이상하고 멋진 것들을 탭합니..


iPhone에서 특정 번호의 문자 메시지를 차단하는 방법

개인 정보 보호 및 보안 Sep 11, 2025

때로는 휴대 전화에서 스팸 메시지를받습니다. 때때로 사람들은 짜증이납니다. 때로는 사람들을 차단해야합니다. 좋은 소식은 iPhone에서..


내 브라우저에 너무 많은 개인 데이터가 저장되는 이유는 무엇입니까?

개인 정보 보호 및 보안 Sep 23, 2025

브라우저 기록과 쿠키 추적 사이에서 브라우저가 사용자를 추적하고 감시하는 것처럼 느껴지기 쉽습니다. 그러나 웹 브라우저는이 개인..


웹 사이트는 귀하의 기본 설정 (및 쿠키 관련 선택)을 어떻게 기억합니까?

개인 정보 보호 및 보안 Sep 2, 2025

캐치되지 않은 콘텐츠 웹 사이트는 웹 사이트에 대한 귀하의 선호도 (또는 아무도 원하지 않는 경우)를 어떻게 기억하며, 쿠키 자체의 �..


Google 크롬을 사용하여 컴퓨터에 원격으로 액세스하는 방법

개인 정보 보호 및 보안 Jul 11, 2025

캐치되지 않은 콘텐츠 우리는 사용을 포함하여 컴퓨터의 원격 액세스를 달성 할 수있는 다양한 방법 중 일부를 살펴 보았습니다. ..


신뢰할 수없는 컴퓨터에서 온라인 뱅킹 및 이메일에 안전하게 액세스

개인 정보 보호 및 보안 Mar 10, 2025

캐치되지 않은 콘텐츠 신뢰할 수없는 컴퓨터, 특히 공공 장소에있는 컴퓨터에 온라인 뱅킹 또는 이메일 암호를 입력하는 것은 위험합�..


Microsoft Security Essentials 베타 살펴보기

개인 정보 보호 및 보안 Sep 6, 2025

캐치되지 않은 콘텐츠 Microsoft 보안 기초 (이전 코드 명 Morro) 베타가 어제 출시되었으며 여기에서 기대할 수있는 사항을 살펴 보겠�..


Gmail 알리미를 중단하지 않고 SSL 암호화로 Gmail 계정을 보호하세요.

개인 정보 보호 및 보안 Sep 18, 2025

캐치되지 않은 콘텐츠 어떤 방화벽을 사용하든 암호화를 사용하지 않고 온라인 서비스에 연결하는 경우 특히 무선 네트워크를 통해 연결하는 ..


카테고리