SSH란?
SSH는 Secure Shell의 약자로, 관리자가 암호화된 연결을 통해 서버와 네트워크 장비에 로그인하는 표준 방식입니다. 거의 모든 Linux 서버를 SSH로 관리합니다.
엔지니어와 상담하세요 지식 베이스
정의
SSH는 관리자에게 원격 머신의 명령줄을 제공합니다. 로그인 자체를 포함해 연결을 통해 전송되는 모든 것이 암호화됩니다. 비밀번호를 평문으로 보내던 Telnet 같은 오래된 도구를 대체했습니다. 일반적인 구현은 OpenSSH이며 Linux, macOS, 최신 Windows에 포함되어 있습니다. 서버는 기본적으로 22번 포트에서 SSH를 기다립니다.
같은 연결로 명령 실행 이상의 일도 할 수 있습니다. 파일을 복사하고(SCP와 SFTP), 암호화된 터널을 통해 다른 트래픽을 전달할 수도 있습니다. Git과 Ansible 같은 도구도 내부적으로 SSH를 사용합니다.
비밀번호 대신 키
SSH는 비밀번호로 로그인할 수도 있지만 더 나은 방법은 키 쌍입니다. 개인 키는 관리자의 컴퓨터에 남아 있고 어디로도 전송되지 않습니다. 짝이 되는 공개 키는 서버에 둡니다. 로그인할 때 서버는 그 사람이 개인 키를 가지고 있는지 확인합니다. 키는 비밀번호처럼 추측할 수 없고, 관리자마다 각자의 키를 가지므로 한 사람씩 접근 권한을 제거할 수 있습니다.
기업에 중요한 이유
- 서버 운영의 기본 수단입니다. Linux 서버, 방화벽, 스위치의 업데이트, 수리, 설정은 SSH로 이루어집니다.
- 공격 대상이 됩니다. 인터넷에서 접근할 수 있는 SSH 서버는 자동화된 비밀번호 추측 공격에 끊임없이 스캔당합니다.
- 접근에는 담당자가 필요합니다. 누군가 떠난 뒤 서버에 남겨 둔 키는 계속 작동합니다. 누군가는 로그인할 수 있는 사람의 목록을 관리해야 합니다.
권장 사항
- 키만 허용: 키를 설정한 뒤에는 비밀번호 로그인을 끄십시오.
- root 직접 로그인 금지: 관리자는 자신의 계정으로 로그인하고 필요할 때만 권한을 올리므로, 로그에 누가 무엇을 했는지 남습니다.
- 공개 인터넷에 노출하지 마십시오. VPN이나 Tailscale, WireGuard 같은 사설 네트워크로 SSH에 접속하거나, 방화벽에서 알려진 주소로만 제한하십시오.
- 개인 키를 보호하십시오. 암호 문구를 설정하거나 하드웨어 보안 키에 보관하십시오.
- 사람이 떠나면 키를 제거하십시오. 퇴사 절차의 일부로 다루십시오.
KawaConnect가 SSH를 다루는 방식
저희는 관리하는 Linux 서버, 방화벽, 네트워크 장비를 SSH로 관리하며, 키 기반 로그인을 사용하고 원격 접속을 인터넷에 열어 두지 않습니다. 접근 권한은 문서화되어 있어 고객이 누가 자사 시스템에 접근할 수 있는지 확인할 수 있습니다. 이는 저희 Linux 서버 지원과 네트워크 보안 업무의 일부입니다.
관련 서비스
자세히 보기
- 위키백과의 Secure Shell 항목프로토콜과 그 역사, 용도를 중립적으로 개괄합니다.
- OpenSSH대부분의 시스템에 있는 SSH 소프트웨어를 만드는 프로젝트로, 매뉴얼 페이지를 제공합니다.
- Arch Wiki의 OpenSSH 항목키 설정과 서버 보안 강화를 위한 실용적인 레퍼런스로, 어떤 Linux 배포판에서도 유용합니다.
- Windows용 OpenSSHWindows에 내장된 SSH 클라이언트와 서버에 대한 Microsoft의 가이드입니다.