Computer >> 컴퓨터 >  >> 시스템 >> Windows

PuTTY 없이도 충분! Windows 10 내장 OpenSSH 클라이언트 활용 가이드

PuTTY 없이도 충분! Windows 10 내장 OpenSSH 클라이언트 활용 가이드

원격에서 *nix(유닉스 계열) 머신을 관리해야 할 때는 거의 항상 SSH를 사용하게 됩니다. 서버에서 구동되는 BSD나 Linux 기반 운영체제에는 OpenSSH 데몬이 기본적으로 설치되어 있습니다. 이 데몬과 '대화'하며 원격 머신을 조작하려면 SSH 클라이언트도 필요한데, 오랫동안 PuTTY가 Windows에서 가장 인기 있는 SSH 클라이언트로 자리 잡아 왔습니다. 하지만 최근 대형 업데이트 이후 Windows 10에는 SSH 클라이언트가 기본 탑재되어 있어, PuTTY를 따로 설치하고 설정하는 것보다 내장 클라이언트를 사용하는 편이 더 쉽고 빠릅니다.

Windows OpenSSH 클라이언트 설치 방법

먼저 이미 설치되어 있는지 확인합니다. 키보드의 Windows 로고 키를 누르거나 시작 메뉴를 클릭한 뒤 cmd를 입력해 명령 프롬프트를 실행합니다.

PuTTY 없이도 충분! Windows 10 내장 OpenSSH 클라이언트 활용 가이드

이제 ssh를 입력하고 Enter 키를 눌러 보세요. 명령줄 옵션에 대한 간단한 요약이 표시된다면 클라이언트가 이미 설치된 것이므로 이 섹션의 나머지 과정은 건너뛰어도 됩니다.

PuTTY 없이도 충분! Windows 10 내장 OpenSSH 클라이언트 활용 가이드

만약 '명령을 인식할 수 없다'는 메시지가 나타난다면 시작 메뉴에서 features를 검색합니다. '앱 및 기능'을 연 다음 '선택적 기능 관리'를 클릭합니다.

PuTTY 없이도 충분! Windows 10 내장 OpenSSH 클라이언트 활용 가이드

그다음 '기능 추가' 버튼을 누르고 목록을 아래로 스크롤해 'OpenSSH 클라이언트'를 찾아 설치하면 바로 사용할 준비가 끝납니다.

PuTTY 없이도 충분! Windows 10 내장 OpenSSH 클라이언트 활용 가이드

Windows 내장 OpenSSH 클라이언트 사용 방법

Linux에서 ssh 명령어에 익숙하다면 Windows에서도 사용법은 동일합니다. 문법과 명령줄 옵션이 그대로이기 때문입니다. 전체 SSH 매뉴얼은 OpenBSD 공식 웹사이트에서 확인할 수 있습니다.

서버에 접속하는 기본 문법은 ssh 사용자명@IP주소-또는-호스트명입니다.

예시:

ssh root@203.0.113.1
ssh john@example.com

비밀번호로 로그인하는 것은 간단합니다. 서버 지문(fingerprint)을 수락하려면 yes를 입력한 뒤 비밀번호를 입력하면 됩니다(보안상 입력한 문자는 화면에 표시되지 않습니다).

PuTTY 없이도 충분! Windows 10 내장 OpenSSH 클라이언트 활용 가이드

다만 보안을 위해서는 비밀번호 대신 SSH 키를 사용하는 것이 강력히 권장됩니다. 봇넷에 감염된 좀비 PC들은 끊임없이 OpenSSH 서버를 스캔하며 비밀번호 무차별 대입(brute force) 공격을 시도합니다. 반면 키 방식은 무차별 대입으로 뚫을 수 없으며, 흔히 권장되는 '비밀번호 + fail2ban' 조합보다 훨씬 안전합니다. fail2ban은 같은 IP에서의 반복 시도만 차단할 뿐, 다른 IP가 여러 비밀번호를 계속 시도하다 우연히 성공할 가능성은 막지 못하기 때문입니다.

SSH 키로 로그인하는 방법

SSH 인증용 키 쌍을 생성하는 방법은 다양하지만, Windows에서도 명령 프롬프트에서 바로 쓸 수 있는 ssh-keygen이 제공됩니다. 키 쌍을 생성한 후에는 공개 키를 서버에 등록하고 비밀번호 로그인을 비활성화하세요. 그리고 개인 키는 Windows 컴퓨터에 안전하게 보관합니다.

로그인할 때는 다음과 같이 -i 매개변수 뒤에 개인 키의 경로를 지정하면 됩니다.

ssh -i C:\Users\mte\testkey root@203.0.113.1

PuTTY 없이도 충분! Windows 10 내장 OpenSSH 클라이언트 활용 가이드

또는 개인 키를 기본 위치로 옮겨 두는 방법도 있습니다. 첫 연결 후 SSH 클라이언트는 현재 사용자 디렉터리에 .ssh 폴더를 자동으로 생성하는데, 명령 프롬프트에 다음을 입력하면 해당 폴더를 열 수 있습니다.

explorer %userprofile%\.ssh

이제 개인 키 파일을 이 폴더에 복사하고 이름을 id_rsa로 변경합니다.

PuTTY 없이도 충분! Windows 10 내장 OpenSSH 클라이언트 활용 가이드

이렇게 해 두면 이후부터는 -i 매개변수 없이도 개인 키로 자동 로그인할 수 있습니다.

ssh root@203.0.113.1

알아두면 유용한 SSH 명령 매개변수

  • -p – SSH 서버가 22번이 아닌 다른 포트에서 대기 중일 때 사용합니다. 예: ssh -p 4444 root@203.0.113.1
  • -C – 클라이언트와 서버 간 트래픽을 압축합니다. 매우 느린 네트워크 환경에서만 효과적입니다.
  • -v – 상세(verbose) 모드로, 접속 과정을 자세히 출력합니다. 연결 문제를 디버깅할 때 유용합니다.

예시 명령:

ssh -p 4444 -C -v root@203.0.113.1

마무리

이 클라이언트는 사실상 Linux 머신에서 사용하는 것과 동일한 OpenSSH이므로 sftp 같은 명령어도 그대로 사용할 수 있습니다. 덕분에 원격 서버와 파일을 주고받는 작업이 한결 수월해지고, 명령줄을 선호하는 사용자라면 FileZilla 같은 FTP 클라이언트를 굳이 설치할 필요도 없어집니다. 또한 ssh 명령으로 SSH 터널을 구성하는 것도 가능합니다. ISP가 공인 외부 IP를 할당해 주지 않는 환경(여러 사용자가 하나의 인터넷 IP를 공유하는 경우)에서도 로컬 컴퓨터가 외부 연결을 받을 수 있게 해 주는 등 '불가능해 보이는' 작업들을 실현해 주기 때문에, 이 주제는 향후 별도 튜토리얼에서 자세히 다룰 예정입니다.