マイクロソフト製SSHサーバをパッケージ管理システムでインストールする

ALL
スポンサーリンク

マイクロソフト製の OpenSSHサーバ のインストール・設定方法についてです。
以前下記で紹介した際に日本語の扱いで問題がありましたが、最新版では直っています。
また、ここではパッケージ管理システムによるインストールを説明します。

マイクロソフト製OpenSSHでSSHサーバを設定する パソコン鳥のブログ

OpenSSH-Win32 の最新版は次の個所です。
2017年7月26日時点では、v0.0.18.0 です。

Release v9.8.1.0p1-Preview ?? PowerShell/Win32-OpenSSH
This is a preview-release (non-production ready) This release includes: fix for MSI, otherwise equivalent to the v9.8.0....

この最新版では、ssh接続の際に日本語が文字化けする件が直っていました。
日本語の表示や、日本語ファイルの扱いも問題ありません。

但し、Windows7 32bit版では SSHデーモンの起動に失敗するようです。

スポンサーリンク

準備(Chocolateyインストール)

Windowsのパッケージ管理システム Chocolatey をインストールします。

Windows7では事前に Microsoft .NET Framework 4.0以上のインストールが必要です。
コントロールパネルの[プログラム]-[プログラムと機能] で表示される一覧で、バージョンが4.0以上の Microsoft .NET Framework が含まれているかを確認します。

画像

無い場合は、https://www.microsoft.com/ja-jp/download/details.aspx?id=49981 からダウンロード・インストールしておいて下さい。

Chocolatey のインストールでは、初めにコマンドプロンプトを管理者として実行します。

    • Windows7の場合

スタートメニューの すべてのプログラム - アクセサリ - コマンドプロンプトを右クリックし、[管理者として実行] を実行

    • Windows8.1の場合

スタートメニューを右クリックし、コマンドプロンプト(管理者) を実行

    • Windows10の場合

スタートメニューの Windowsシステムツール-コマンドプロンプト を右クリックし、メニューから[その他]-[管理者として実行] を実行

コマンドプロンプトを管理者として実行したら、次のコマンドを実行します。

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

これで Chocolatey のインストールは完了です

Win32-OenSSH インストール

「準備」の個所と同様に、コマンドプロンプトを管理者として実行します。
その後、次のコマンドを実行します。

choco install openssh -params '"/SSHServerFeature /KeyBasedAuthenticationFeature"' -confirm

下記のように表示されたら、Win32-OenSSH のインストール完了です。

 The install of openssh was successful.
  Software installed to 'C:\Users\XXXXX\AppData\Local\Temp\chocolatey\OpenSSHTemp
'

Chocolatey installed 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

インストール先が
Software installed to ‘C:\Users\XXXXX\AppData\Local\Temp\chocolatey\OpenSSHTemp’
のように表示されますが、実際は C:\Program Files\OpenSSH-Win64 の下です。

設定

ファイアウォール

Win32-OenSSH のインストール時に Windowsファイアウォールの設定が行わるので、特にすることはありません。

公開鍵認証の為の設定

公開鍵認証を行う場合は、次を実施します。

デフォルトで公開鍵認証が可能です。
(sshd_config の RSAAuthentication、PubkeyAuthentication は yes です)

クライアントPCで作成した公開鍵をユーザ環境で設定します。
鍵の生成については、次の記事の鍵を参照して下さい。(下記記事の例では id_rsa.pub です)

公開鍵認証による接続方法(sshコマンドの場合)
公開鍵認証による接続方法(PuTTYの場合)
公開鍵認証による接続方法(Tera Termの場合)

公開鍵を今回OpenSSHをインストールした Windowsマシンの、C:\Users\ユーザアカウント名 の箇所にコピーして下さい。

コマンドプロンプトを開き(注:管理者として開かないこと)、下記コマンドで .ssh ディレクトリを作成します。

mkdir .ssh

クライアントPCで作成した公開鍵(ここでは id_rsa.pub )を設定します。

Tera Term や ssh-keygenコマンドで作成した場合

type id_rsa.pub >> .ssh\authorized_keys

PuTTYで作成した場合
ssh-keygen の -iオプションで、puttygen で作成した公開鍵を OpenSSH 互換の公開鍵に変換します。

"C:/Program Files/OpenSSH/ssh-keygen" -i -f id_rsa.pub >> .ssh/authorized_keys 

これで、公開鍵認証の設定は完了です。
クライアントPCから鍵認証で接続できます。

Win32-OenSSH のSSHサーバへ接続

Win32-OenSSH のSSHサーバの文字コードは UTF-8 です。

例えば PuTTY では、ウィンドウ-変換 の「文字セット変換の設定」画面で、UTF-8 または UTF-8(CJK) を選択して下さい。

画像

アンインストール

「準備」の個所と同様に、コマンドプロンプトを管理者として実行します。
その後、次のコマンドを実行します。

choco uninstall openssh -params '"/SSHServerFeature"' -confirm

下記のように表示されたら、Win32-OenSSH のアンインストール完了です。

 openssh has been successfully uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
 see the changes (or in powershell/cmd.exe just type `refreshenv`).

Chocolatey uninstalled 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

参考

https://github.com/PowerShell/Win32-OpenSSH/wiki
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
https://github.com/PowerShell/Win32-OpenSSH/wiki/Win32-OpenSSH-Automated-Install-and-Upgrade-using-Chocolatey

コメント