UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


WindowsのPCやサーバーにリモートログイン用のSSHサーバーを構築しようとすると、サーバー用のソフトウェアのインストールが必要です。しかし、多くのSSHサーバーソフトウェアは開発が終了して何年も経過していたり、正式版が公開されていなかったりとセキュリティ的な不安から使用するのはちょっとためらいがあります。そんな中で、2004年に登場して2018年8月現在も開発が続いている「Bitvise SSH Server」どんなSSHサーバーなのか、実際に使って試してみました。
Bitvise SSH Server | Bitvise
https://www.bitvise.com/ssh-server
◆初期セットアップ
Bitvise SSH Serverのダウンロードページにアクセス後、「Bitvise SSH Server Installer」をクリックして、インストーラーをダウンロードします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


ダウンロードした「BvSshServer-Inst.exe」を右クリックして、「開く」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


Bitvise SSH Serverのインストーラーが起動するので、「I agree to accept all the term of this License Agreement」にチェックを入れて、「Install」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


すると、エディション選択画面が表示されます。「Standard Edition」は商用利用を目的としたエディションで、試用期間が30日設定されています。一方、「Personal Edition」は個人利用目的のエディションで、試用期間の制限はありませんが、Standard Editionと比べるとちょっと制限があります。ここでは「Personal Edition」のラジオボタンにチェックを入れて、「OK」をクリックします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


すると、名前の入力画面が表示されるので、「Name」「Last name」に名前を入力して、「OK」をクリックします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


すると、インストールが開始され、終了するとBitvise SSH Serverの設定画面が表示されます。Settingの下にある「Open easy settings」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


サーバー設定の画面が表示されるので、「Open port(s) to local network (subnet scope)」をクリックして、「Open port(s) to any computer」をクリックして選択後、「Next」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


すると、Windowsアカウントの設定画面が表示されます。Bitvise SSH ServerはWindowsに登録しているユーザーアカウントをログイン用IDとして使用できますが、ここでは個別にアカウントを登録して使用します。「Allow login to any Windows account」のチェックを外して、「Next」をクリックします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


アカウントの設定画面が表示されるので、「Add」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


次にアカウント登録画面が表示されます。ここでは秘密鍵を使用せず、IDとパスワードでログインするユーザーを設定します。「Virtual account name」にユーザー名(ここではgigao)と入力し、「Virtual account password」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


「Password」と「Confirm Password」に登録するパスワードを入力して、「OK」をクリックします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


「OK」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


「Save changes」をクリックします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


サーバー設定画面で「Start Server」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


すると、サーバー設定画面のステータスが「running」となり、サーバーが起動しました。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


◆実際にSSH接続してみる
SSH接続する前に事前準備として、SSHでログイン後に移動するルートディレクトリとファイルを作成します。Bitvise SSH Serverのデフォルトのルートディレクトリは「C:\SftpRoot」となっています。そこで、コマンドプロンプトを開き、以下のコマンドを実行して、Cドライブ直下にSftpRootのフォルダーと「これはサーバー上のファイルです」と書いたテキストファイル(sample.txt)を設置します。
mkdir c:\SftpRoot
echo これはサーバー上のファイルです > c:\SftpRoot\sample.txt

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


早速、SSHでログインしてみます。今回はスマートフォンアプリのSSHクライアントソフト「ConnectBot」を使って、リモートログインしてみます。ConnectBotで接続先のホストURIを「gigao@[Bitvise SSH ServerのIPアドレス]」を設定しタップすると……

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


公開鍵のフィンガープリントの登録メッセージが表示されるので、「はい」をタップ。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


パスワードの入力が求められるので、パスワードを入力して、Enterキーをタップします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


すると、Bitvise SSH Serverへのログインが完了し、コマンドの入力が可能になります。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


サーバーへのログイン後はbvshellというUNIXライクなコマンドが使用可能になります。たとえば、「ls」コマンドを入力すると、ディレクトリ内の一覧が表示され、先ほどルートディレクトリの「C:\SftpRoot」に作成したsample.txtが表示されます。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


以下のcatコマンドでファイルを開けば、ファイル内に「これはサーバー上のファイルです」が書かれていることを確認することが可能です。
cat sample.txt

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


◆帯域制限
ここまでは基本機能を使っていましたが、Bitvise SSH Serverで使用できる帯域制限機能を使ってみます。設定を行うには、サーバ設定画面で「Edit advanced settings」をクリックします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


拡張設定画面が表示されるので、左側のビューの「Virtual accounts」をクリックして、「設定したいユーザーID」「Edit」の順にクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


ここでは、ダウンロードの帯域を1秒あたり10KBに制限してみます。まず、左側のビューから「Limits and quotas」をクリック後、「Limits download bandwidth」のセレクトボックスをクリックして開き、「KB/s」をクリックします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


「Maximal download bandwidth」に「10」と入力し、「OK」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


拡張設定画面で「OK」をクリックして、設定を反映させます。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


次にダウンロード速度をチェックしてみます。ダウンロード速度のチェックには「WinSCP」で確認してみます。まず、Bitvise SSH Serverを設定しているPCにWinSCPをインストール。そして、サーバーのルートディレクトリに約180MBのムービーファイルを設置しました。そして、これをWinSCPでダウンロードしてみると、デフォルトの状態では10秒ほどでダウンロードが完了しますが、制限を加えた状態ではダウンロード速度が1秒間に10KB程度となり、残り時間が約4時間30分となっていました。正しく制限が加わっていることが確認できました。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


◆SSHログイン時に使用できるパスを増やす
次にルートディレクトリ以外にも別のパスを個人用のディレクトリとして設定できる「仮想ファイルシステム」機能を変更してみます。サーバー設定画面で「Open easy settings」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


「3. Virtual accounts」タブをクリックして、「設定するユーザー(gigao)」「Edit」の順にクリックします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


「Virtual filesystem layout」のセレクトボックスをクリックして、「Configure multiple mount points」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


すると、「Advanced filesystem layout」の項目が追加されるので、その下部にある「Add」ボタンをクリックします。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


新しいディレクトリパスの設定画面が表示されるので、「Virtual mount path」に「/sftp2」、「Real root path」に「C:\SftpRoot2」と入力して、「OK」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


すると、「Advanced filesystem layout」に「/sftp2」の内容が追加されているので、「OK」をクリック。

UNIXライクなコマンドも使えるWindows用SSHサーバー「Bitvise SSH Server」を使ってみた - 画像


「Save changes」をクリックして、設定を反映します。

そして、「C:\SftpRoot2」のパスとフォルダー内に「sftproot2.txt」のファイルを設置します。

そして、ConnectBotで接続し、ルートディレクトリ直下でlsコマンドを実行すると、「sftp2」のディレクトリが現れました。

以下のコマンドでsftp2の中にあるファイルの一覧を表示すると、「sftproot2.txt」が表示され、別のパスを個人用ディレクトリとして設定することができました。
ls sftp2

◆統計情報の表示
Bitvise SSH Serverでは、各ユーザーがリソースをどれくらい使ったかなどを知ることができる統計情報を見ることができます。サーバ設定画面で「Statistics」タブをクリックし、「表示したいユーザー(gigao)」「View in new window」の順にクリックします。

すると、3つのグラフが表示され、上から「ダウンロード量」「アップロード量」「ログイン回数」が表示されます。この表示は日ごとや月ごとなどに切り替えることも可能です。

◆Gitリポジトリ統合
Bitvise SSH Serverを使ってバージョン管理システムのGitのリポジトリを他のPCに公開することができます。設定するには、サーバー設定画面の「Open easy settings」をクリック。

「3. Virtual accounts」タブをクリックして、「設定するユーザー(gigao)」「Edit」の順にクリックします。

「Shell access type」のセレクトボックスをクリックして、「Git access only」をクリック。

「Git binaries directory」にGitのバイナリファイルのパス、「Git repositories root directory」にGitリポジトリのパス(ここでは「C:\SftpRoot2」)を入力し、「OK」をクリックします。

「Save changes」をクリックして完了です。

以降は設定したGitレポジトリを複数のユーザーで使用することが可能になります。

これ以外にも以下のように数多くの機能が実装されており、かなり細かい設定を行うことも可能です。
・シングルサインオン機能
・難読化機能
・Telnet機能
・ポート転送機能
・テキストファイルでの設定記述
・マルチインスタンス機能
・冗長化構成

ジャンルで探す