보안 셸 (SSH) 서버 설정이 복잡하다고 생각하시나요? 걱정하지 마세요. 일반적으로 SSH 서버는 명령 줄 기반으로 설정되며 설정은 어려울 수 있습니다. 원격으로 Windows 기기를 관리하거나 파일을 전송해야 하는 경우 Bitvise SSH Server가 해답이 될 수 있습니다.
Bitvise SSH Server를 구성하는 데는 명령어를 입력할 필요가 없습니다. 모든 작업을 GUI에서 수행할 수 있습니다! Windows에서 Bitvise SSH Server를 설치하고 설정하는 방법을 배우는 이 튜토리얼을 계속 읽어보세요.
결과적으로, 원격으로 관리할 수 있는 SSH 서버를 구축하고 파일을 전송하며 원격 데스크톱에 로그인할 수 있는 SSH 클라이언트를 한 곳에서 사용할 수 있게 될 것입니다.
전제 조건
이 튜토리얼을 따라가기 위해서는 다음 요구 사항을 갖추어야 합니다.
- A Windows computer to install the Bitvise SSH server. Any Windows desktop or server OS will work. This tutorial uses a server with the following configuration.
- 운영 체제: Windows Server Datacenter 2019
- 컴퓨터 이름: xdc01
- 도메인 가입: 아니오 (독립형)
- DNS 이름: xdc01.lzex.ml
- IP 주소 (내부, 공용): 10.0.1.4, 52.186.86.26
- Windows 관리자 계정: winadmin1
- 다른 Windows 컴퓨터를 SSH 클라이언트로 사용합니다. 테스트 목적으로 SSH 서버 및 SSH 클라이언트에 하나의 컴퓨터를 사용하는 것이 좋습니다. 이 튜토리얼에서는 Windows 10 컴퓨터를 SSH 클라이언트로 사용합니다.
Bitvise SSH Server 설치
Bitvise SSH 서버에는 표준 및 개인 두 가지 버전이 있습니다. 표준 버전은 설치 중에 라이선스를 지정해야 합니다. 반면에 개인 버전은 개인 및 비상업적 사용자에게 무료이지만 특정 제한이 있습니다.
이 튜토리얼은 Bitvise SSH 서버 개인 버전에만 중점을 두고 있습니다. 그리고 더 진행하기 전에 개인 버전의 제한 사항을 알아야 합니다.
- 서버가 도메인 컨트롤러 (DC)가 아닌 경우 로컬 Windows 계정만 로그인할 수 있습니다.
- SSH 사용자 그룹으로 Everyone 그룹만 구성할 수 있습니다.
- 가상 그룹은 하나만 생성하고 구성할 수 있습니다.
- Windows 계정을 최대 10개까지 추가할 수 있습니다.
- 가상 계정을 최대 10개까지 생성할 수 있습니다.
- 동시 세션은 최대 15개로 제한됩니다.
- Kerberos와 NTLM 인증 방법은 작동하지 않습니다.
이제 한계를 알고 나면 설치에 대해 자세히 살펴 보겠습니다. Bitvise SSH Server를 설치하는 두 가지 방법이 있습니다 – 대화형(GUI) 및 비대화형. 어떤 것을 사용해야 하는지는 완전히 배포 유형에 따라 다릅니다.
Bitvise SSH Server 설치 프로그램 다운로드
최신 Bitvise SSH Server 버전은 이 글을 작성하는 시점에서 8.49입니다. 다행히도 최신 버전은 항상 동일한 설치 프로그램 파일 이름과 다운로드 링크를 가지고 있으므로 나중에 더 높은 버전을 설치하기 위해 잘못된 파일을 다운로드할 걱정은 없습니다.
브라우저를 통해 Bitvise SSH Server 설치 프로그램을 다운로드하려면, Bitvise SSH Server를 설치할 서버에서 이 다운로드 링크를 클릭하고 파일을 C:\BvSshServer-Inst.exe에 저장하십시오.
또는 PowerShell을 사용하여 설치 프로그램을 다운로드하려면 관리자 권한으로 PowerShell을 열고 아래 명령을 실행하십시오.
대화형 설치 (GUI)
Bitvise SSH 서버를 대화형으로 설치하려면 아래 단계를 따르세요.
1. 파일 탐색기를 열고 BvSshServer-Inst.exe 설치 프로그램을 찾아 두 번 클릭하여 설치를 시작합니다.
2. 나타나는 설치 프로그램 창에서 이 라이선스 동의서의 모든 조항에 동의합니다를 선택합니다. 그런 다음 새로운 기본 인스턴스 설치 옵션을 선택합니다. 위치 값을 변경하지 않고 설치를 클릭합니다.

3. 이제 설치할 Bitvise SSH Server 에디션을 선택합니다. 이 예에서 개인 에디션을 클릭하고 확인을 클릭합니다.

4. 이제 이름 정보를 입력하고 확인을 클릭하고 설치가 완료될 때까지 기다립니다.

5. 설치 후 설치 프로그램은 Bitvise SSH Server가 완전히 작동하도록 서버를 다시 시작할 것을 권장합니다. 확인을 클릭합니다.

6. 마지막으로 컴퓨터를 다시 시작합니다.
비대화형 설치 (커맨드 라인)
다른 방법으로 Bitvise SSH 서버를 설치하는 방법은 비지각 설치입니다. 이 방법은 하나 또는 여러 서버에 Bitvise SSH 서버의 인스턴스를 배포할 계획이라면 더 적합합니다.
비지각 설치를 실행하려면 다음과 같이 진행하십시오.
1. 관리자 권한으로 PowerShell을 엽니다.
2. 아래 명령을 실행하여 설치를 시작하고 설치가 완료될 때까지 기다립니다.

3. 마지막으로 아래 명령을 실행하여 컴퓨터를 다시 시작합니다.
기본 Bitvise SSH 서버 설정 구성
이 시점에서 Bitvise SSH 서버를 설치한 후에도 아무도 SSH를 통해 서버에 로그인할 수 없습니다. 또한, 기본 구성은 로컬 서브넷에서의 연결만 허용합니다. Bitvise SSH 서버 방화벽 규칙을 구성하고 사용자를 추가하는 것부터 시작합시다.
어떤 관리 작업을 수행하려면 먼저 SSH 서버 옵션을 구성하는 GUI를 제공하는 Bitvise SSH 서버 제어판을 열어야합니다.
1. 서버에서 시작 —> Bitvise SSH 서버 —> Bitvise SSH 서버 제어판을 클릭합니다.

2. 다음으로, 서버 탭 아래에서 간편 설정 열기 링크를 클릭하여 설정 편집기를 엽니다.

3. 서버 설정 탭 아래에서 Windows 방화벽 열기 값을 모든 컴퓨터에 포트 열기로 변경한 다음 다음을 클릭합니다. 이 옵션을 선택하면 Windows 방화벽의 Bitvise SSH 서버 규칙이 자동으로 업데이트되어 모든 소스에서 SSH 연결을 수락합니다.

Windows 계정 추가
Bitvise SSH 서버에서 Windows 계정을 사용하면 로컬 또는 도메인 계정의 기존 사용자 계정과 권한을 활용할 수 있습니다.
Windows 계정이 Bitvise SSH 서버에 로그인할 수 있도록하려면 다음 단계를 따르십시오:
- Windows 계정 탭에서 추가를 클릭합니다.

2. 그런 다음 Windows 계정 정보와 기본 터미널 셸을 제공하세요.
- (a) Windows 계정 유형 (로컬 계정 또는 도메인 계정)을 선택하십시오. 이 예에서는 로컬 계정을 선택합니다 (Bitvise SSH Server가 개인 버전이며 DC가 아닌 기계에 설치된 것으로 가정).
- (b) Windows 계정 이름 상자에 사용자 이름을 입력하십시오. 그러나 이 예에서는 로컬 Windows 계정인 winadmin1을 사용합니다.
- (c) Shell 액세스 유형이라는 드롭다운 상자를 클릭하고 PowerShell을 선택하십시오. 이 옵션은 기본 터미널 셸을 기본 명령줄이 아닌 PowerShell로 설정합니다.
- (d) 마지막으로 새 Windows 계정을 추가하려면 확인을 클릭하십시오.

3. Windows 계정 탭으로 돌아가면 이제 목록에 하나의 계정이 있는 것을 알 수 있습니다.
이제 암호 인증을 사용하고 SSH 서버의 파일 시스템에 완전한 액세스 권한을 갖는 Windows 사용자 계정을 추가했습니다.
변경 사항을 저장하고 다음 섹션에서 가상 계정을 만들기 위해 다음을 클릭하십시오. 현재 가상 계정을 만들고 싶지 않은 경우에는 대신 변경 사항 저장을 클릭하십시오.

가상 계정 추가
SSH 서버에 사용자에게 제한된 액세스를 허용하려는 경우, 아마도 특정 디렉터리로의 파일 전송만 허용하는 경우에는 가상 계정이 적절합니다.
Windows 계정 (로컬 또는 도메인)과 달리, 가상 계정은 Bitvise SSH Server 구성에서만 존재합니다. 가상 계정을 만들려면 아래 단계를 따르십시오.
1. 가상 계정 탭에서 추가를 클릭하여 가상 계정 설정을 할 수 있는 “새 항목” 양식을 엽니다.

2. 새 항목 양식에서 다음과 같이 새 가상 계정 정보를 지정합니다.
- (a) 선호하는 가상 계정 이름을 입력합니다. 이 예에서는 새 가상 계정 이름이 sshuser1입니다.
- (b) 가상 계정 비밀번호를 클릭하면 ****팝업 창이 나타납니다
- (c) 팝업 창에 새 암호를 입력하고 확인을 클릭합니다.
- (d) 새 항목 양식으로 돌아가 나머지 값을 기본값으로 유지한 채 (e) 확인을 클릭합니다.
BvShell 쉘 액세스 유형은 Bitvise SSH Server에 특화된 Bash와 유사한 쉘입니다. 이 쉘은 사용자의 액세스를 해당하는 SSH 서버의 가상 파일 시스템 루트 디렉터리로 제한합니다.
루트 디렉터리의 기본 경로가 있는지 확인하십시오. 그렇지 않으면 가상 계정을 계속 생성한 후 폴더를 만들 수 있습니다. 이 예에서 루트 디렉터리는 C:\SftpRoot입니다.

3. 가상 계정 탭으로 돌아가면 이제 이름이 sshuser1인 가상 계정이 있는 것을 볼 수 있습니다. 지금까지 SSH 서버 구성에 대한 모든 변경 사항을 커밋하려면 변경 사항 저장을 클릭합니다.
당신은 이제 비밀번호 인증을 사용하며 C:\SftpRoot 폴더에만 액세스 권한이 있는 새 가상 계정을 만들었습니다.

Bitvise SSH Client 설치
SSH에 익숙하다면 WinSCP, Putty 등의 SSH 클라이언트를 이미 사용한 적이 있을 것입니다. 심지어 Chrome SSH 확장 프로그램도 있습니다! 여러 가지 SSH 클라이언트를 사용하여 SSH 서버에 연결할 수 있습니다.
그러나 Bitvise SSH Server의 모든 기능을 실현하려면 Bitvise SSH Client가 최적의 클라이언트 동반자입니다. 개인이든 기관에서든 무료로 사용할 수 있습니다.
비대화식 방식으로 Bitvise SSH Client를 빠르게 설치하려면 다음과 같이 진행하십시오.
1. SSH 클라이언트 컴퓨터에서 PowerShell을 관리자 권한으로 엽니다.
2. 아래 코드를 복사하고 PowerShell에서 실행하여 Bitvise SSH Client를 비대화식으로 설치합니다.

3. 설치 후에는 시작 —> Bitvise SSH 클라이언트 —> Bitvise SSH 클라이언트를 클릭하여 프로그램을 실행하십시오.

그리고 아래에서 Bitvise SSH 클라이언트가 어떻게 보이는지 확인할 수 있습니다.

Bitvise SSH 서버에 연결하기
Bitvise SSH 클라이언트를 설치하면 원하는 작업에 따라 Bitvise SSH 서버에 연결할 수 있는 여러 가지 방법이 있습니다.
명령을 실행하기만 하고 싶은지 (터미널), 파일을 전송하고 싶은지 (SFTP), 또는 원격 데스크톱에 로그인하고 싶은지(RDP), Bitvise SSH 클라이언트가 모두 지원해 드립니다.
참고: 예제 및 지침은 이후에 SSH 서버와 상호 작용하기 위해 “Windows 계정 추가” 섹션 (두 번째 단계)에서 설정한 Windows 계정을 사용합니다. 이렇게하면 지침이 일관되고 Windows 계정과 가상 계정 사이를 전환하지 않습니다.
Bitvise SSH Client 창을 열었으면 아래 단계를 따라 SSH 서버에 로그인하십시오.
1. 로그인 탭에서 SSH 서버 주소를 호스트 상자에 입력하십시오. 이 경우 Bitvise SSH 서버 주소는 xdc01.lzex.ml입니다.
2. SSH 서버 포트 번호를 포트 상자에 입력하십시오. 포트 번호를 변경하지 않았다면 기본 포트 번호는 22입니다.
3. 인증 섹션에서 계정의 사용자 이름을 사용자 이름 상자에 입력하십시오. 이 예에서는 이전에 SSH 서버에 설정한 Windows 계정을 입력하십시오.
4. 현재 SSH 계정이 암호 인증만 사용하므로 초기 메서드를 암호로 변경하십시오.
5. 이제 프로필로 저장을 클릭하여 클라이언트 구성을 저장하십시오.

6. 프로필을 저장할 위치를 선택하고 파일 이름을 입력하십시오. 더 잘 인식하도록 프로필을 username@server 형식으로 이름을 지정한 다음 저장을 클릭하십시오.

7. 다시 Bitvise SSH Client 창으로 돌아가 로그인을 클릭하십시오.

8. 클라이언트는 SSH 서버에 연결할 때 SSH 서버 호스트 키를 확인하라는 메시지를 먼저 보냅니다. 이 단계는 올바른 SSH 서버 호스트에 연결하고 있는지를 확인합니다.
아래에서 볼 수 있듯이, 왼쪽 이미지는 Bitvise SSH 서버의 호스트 키를 보여주고, 오른쪽 이미지는 Bitvise SSH 클라이언트 측에서 SSH 키를 확인하는 프롬프트입니다.
올바른 호스트 키를 확인한 후 수락 및 저장을 클릭합니다.

9. 다음으로, 비밀번호 프롬프트에서 계정 비밀번호를 입력하고 확인을 클릭합니다.

10. 이제 로그인했으므로 창 제목이 username@ssh-server:port 형식으로 변경된 것을 알 수 있습니다. 콘솔 창을 시작하려면 새 터미널 콘솔을 클릭합니다.

마지막으로, 명령어 hostname
을 실행하여 터미널을 테스트합니다.

파일 전송
Bitvise SSH 클라이언트에는 Bitvise SSH 서버로 파일을 전송하거나 전송 받을 수 있는 GUI 프론트 엔드 기능이 있습니다. 파일을 전송하려면 다음 단계를 따르십시오.
1. Bitvise SSH 클라이언트 창에서 왼쪽에 있는 새 SFTP 창 버튼을 클릭합니다. 이 버튼을 클릭하면 새로운 파일 전송 창이 열립니다.
2. 다음으로, 로컬 파일 및 원격 파일 위치를 설정합니다.
- (a) 로컬 파일 창(왼쪽)에서 전송하려는 파일이 있는 위치를 찾거나 입력합니다. 이 예제에서 로컬 경로는 C:\temp입니다.
- (b) 원격 파일 창 (오른쪽)에서 원격 위치를 찾거나 입력하세요. 이 예제에서는 /C/SftpRoot를 원격 위치로 사용합니다.

3. 로컬에서 원격 위치로 파일을 전송합니다.
- (a) 전송할 파일을 선택합니다. 이 예에서는 모든 로컬 파일을 전송 대상으로 선택합니다.
- (b) 자동 시작 옵션을 활성화 상태로 유지합니다. 이 옵션을 사용하면 파일 전송을 즉시 시작합니다. 업로드 버튼을 클릭하면 파일 전송이 시작됩니다.
- (c) 전송 모드를 이진으로 유지합니다. 이 전송 모드를 사용하면 전송 중에 파일 변환이 발생하지 않습니다.
- (d) 기존 파일 규칙을 파일이 이미 존재하는 경우에 대해 물어보기로 유지합니다. 이 규칙을 사용하면 원격 대상에 파일이 이미 존재하는 경우 조치를 취할 수 있습니다.
- (e) 마지막으로, 파일 전송을 시작하려면 업로드를 클릭합니다.

SSH 터널링을 통한 원격 데스크톱 로그인
SSH 터미널과 SFTP 파일 전송 외에도 SSH 서버에 RDP로 로그인할 수 있습니다. 이 기능을 사용하려면 별도의 Bitvise SSH 서버 구성이 필요하지 않습니다. 이 기능은 즉시 사용할 수 있습니다.
윈도우 계정의 경우 기본적으로 포트 포워딩 권한이 있어야 합니다. 윈도우 계정을 추가할 때 해당 권한을 놓치지 않도록 아래 이미지를 참조하세요.

SSH 터널링을 통한 RDP 로그인 방법은 다음과 같습니다.
1. Bitvise SSH Client 창에서 New Remote Desktop 버튼을 클릭하여 원격 데스크톱 연결을 시작합니다.

다음으로 아래와 같은 익숙한 원격 데스크톱 연결 창이 나타날 것입니다. 계속하려면 Connect를 클릭하세요.
참고: Bitvise SSH Client는 자동으로 제공된 SSH 자격 증명을 사용하므로 자격 증명 프롬프트가 나타나지 않습니다.


마지막으로 RDP 세션에서 로그아웃하세요.
공개 키 인증 구성
지금까지 수행한 모든 테스트는 암호 인증만 필요합니다. 복잡한 암호를 사용하면 계정을 안전하게 유지할 수 있지만 암호 인증은 가장 약하고 보안이 덜 된 방법입니다. 걱정하지 마세요. 이 가능한 보안 위험을 해결하기 위한 추가 구성이 있습니다!
참고: 다음 지침은 Windows 계정을 사용하여 Bitvise SSH Server에 로그인한 것으로 가정합니다.
A key pair consists of a public key and a private key. The public key is what you upload to the SSH server, while the private key is what the SSH client presents to the server during authentication. As the name implies, a key pair ensures that only matching keys can pass the server authentication.
키 쌍을 생성하고 SSH 클라이언트 인증을 구성하려면 다음 단계를 따르세요.
1. Bitvise SSH Client에서 Client key manager 링크를 클릭합니다. 이 링크는 Bitvise Client Key Management 창을 엽니다.

2. Bitvise Client Key Management 창에서 Generate New를 클릭하여 새 키 페어를 설정합니다.

3. 새 키페어 생성 팝업 창에서, 이 새로운 키에 대한 의미 있는 설명을 주석 상자에 입력하십시오. 예시와 같이 생성을 클릭하여 변경 사항을 저장하고 새로운 키페어를 생성하십시오.
비밀번호로 보호된 키를 생성하려면 암호를 입력하십시오. 그러나 이 예제에서는 암호를 비워두십시오.

4. 클라이언트 키 관리자로 돌아가면 새로 생성한 키 쌍이 프로필 1에 위치해 있습니다. 키 쌍은 개인 키와 공개 키로 구성되어 있으며, 공개 키는 SSH 서버에 있어야 합니다.
키 위에서 오른쪽 클릭하고 서버에 업로드를 클릭하여 공개 키를 Bitvise SSH 서버에 업로드하십시오.

업로드 후 목록에 새 항목이 표시되지만 위치는 서버 1에 있습니다.

5. 이제 클라이언트 키 관리자 창을 닫고 Bitvise SSH 클라이언트 창으로 돌아갑니다.
6. 메인 창에서 로그아웃을 클릭하여 현재 SSH 세션을 로그아웃합니다.

7. 그다음, SSH 사용자 계정에 이미 키 쌍이 있으므로 암호 대신 키를 사용하도록 인증 방법을 설정하십시오.
- (a) 초기 방법을 publickey로 변경하십시오. 이렇게 하면 SSH 클라이언트의 인증 방법이 키 쌍을 사용하도록 변경됩니다.
- (b) 클라이언트 키에 대해 드롭다운 상자를 클릭하고 이전에 생성한 키 쌍을 선택하십시오. 이 예제에서는 클라이언트 키가 프로필 1입니다.
- (c) 마지막으로, SSH 서버에 로그인하려면 로그인을 클릭하십시오.

아래에서 SSH 클라이언트가 공개 키 인증 방법을 사용했고 로그인이 성공적이었음을 로그에서 확인할 수 있습니다.

결론
Bitvise SSH 서버는 설정할 수 있는 견고하고 안전하며 편리한 SSH 서버입니다. 이 튜토리얼은 Bitvise SSH 서버를 설치하고 구성하여 시작하는 방법을 가르치기 위한 것입니다.
이전에 다른 SSH 서버를 설정한 적이 있다면 Bitvise SSH 서버가 어떻게 비교될 것이라고 생각하십니까? 이 솔루션이 더 나은 대안인지, 균형 잡힌 대안인지 아니면 동등하지 않은 대안인지 알려주세요!