マイクロソフト製の OpenSSHサーバ のインストール・設定方法についてです。
以前下記で紹介した際に日本語の扱いで問題がありましたが、最新版では直っています。
また、ここではパッケージ管理システムによるインストールを説明します。
マイクロソフト製OpenSSHでSSHサーバを設定する パソコン鳥のブログ
OpenSSH-Win32 の最新版は次の個所です。
2017年7月26日時点では、v0.0.18.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
コメント