パソコン鳥のブログ

アクセスカウンタ

zoom RSS マイクロソフト製OpenSSHでSSHサーバを設定する

<<   作成日時 : 2016/10/25 21:28   >>

ブログ気持玉 0 / トラックバック 1 / コメント 0

マイクロソフト製の OpenSSHサーバ のインストール・設定方法についてです。


ダウンロード・準備


OpenSSH-Win32.zip または OpenSSH-Win64.zip を下記からダウンロードします。

なお、2016年10月25日時点で最新版(v0.0.2.0)とv0.0.1.0 は ssh接続の際に日本語が文字化けするので、v0.0.0.9 をお勧めしします。

[2016年10月25日時点]


インストール先ディレクトリを作成し、ダウンロードした内容をそこに展開します。
ここでは、C:\Program Files\OpenSSH にします。

インストール先が C:\Program Files\OpenSSH と違う場所にする場合は、展開したファイル sshd_config の次の行の C:/Program Files/OpenSSH を、インストール先に合わせて書き換えて下さい。


Subsystem sftp C:/Program Files/OpenSSH/sftp-server.exe




インストール


管理者でコマンドプロンプトを開き、次の各コマンドを実行していきます。


cd C:/Program Files/OpenSSH



powershell -executionpolicy bypass -file install-sshd.ps1

上のコマンド実行で赤字で「New-Service : 次のエラーのため、サービス ' (ssh-agent)' を作成できません: アクセスが拒否されました。」と表示された場合は、管理者でコマンドプロンプトを開いていません。
緑字で「sshd and ssh-agent services successfully installed」と出た場合はOKです。

次に下のコマンドを実行します。

.\ssh-keygen.exe -A


次のファイルが出来ます。
ssh_host_dsa_key
ssh_host_dsa_key.pub
ssh_host_ecdsa_key
ssh_host_ecdsa_key.pub
ssh_host_ed25519_key
ssh_host_ed25519_key.pub
ssh_host_rsa_key
ssh_host_rsa_key.pub


下記を実行します。

Windows10の場合
powershell -executionpolicy bypass -file install-sshlsa.ps1

Windows7の場合
reg add HKLM\System\CurrentControlSet\Control\Lsa /v "Authentication Packages" /t REG_MULTI_SZ /d msv1_0\0ssh-lsa.dll -f
copy .\ssh-lsa.dll %SystemRoot%\system32\



続けて下記を実行します。

powershell -Command "Set-Service sshd -StartupType Automatic"
powershell -Command "Set-Service ssh-agent -StartupType Automatic"



最後に再起動して、インストール完了です。



設定


ファイアウォールの設定


Windowsファイアウォールの設定で、22番ポートへのTCP接続を許可して下さい。
Windows7,10 では管理者でコマンドプロンプトを開き、下記コマンドで設定できます。


netsh advfirewall firewall add rule name="SSH Port" dir=in action=allow protocol=TCP localport=22



これで、OpenSSHサーバのインストール・設定は完了です。

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


公開鍵認証の為の設定


デフォルトで公開鍵認証が可能です。
(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 ではない場合、そこに合わせて変更して下さい。

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



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



アンインストール


Windowsファイアウォールの設定で、22番ポートへのTCP接続の許可設定を削除して下さい。
Windows7,10 では管理者でコマンドプロンプトを開き、下記コマンドで削除できます。


netsh advfirewall firewall delete rule name="SSH Port"


管理者でコマンドプロンプトを開き、次のコマンドを実行します。


powershell.exe -executionpolicy bypass -file uninstall-sshd.ps1


続けて次のコマンドを実行します。

Windows10の場合
powershell.exe -executionpolicy bypass -file uninstall-sshlsa.ps1

Windows7の場合
reg add HKLM\System\CurrentControlSet\Control\Lsa /v "Authentication Packages" /t REG_MULTI_SZ /d msv1_0 -f
del %SystemRoot%\system32\ssh-lsa.dll


これでアンインストールは完了です。



参考


Home · PowerShell/Win32-OpenSSH Wiki · GitHub
Install Win32 OpenSSH · PowerShell/Win32-OpenSSH Wiki · GitHub
install-sshlsa.ps1 does not work on Windows 2008 R2 Update 1 (64 bit) · Issue #189 · PowerShell/Win32-OpenSSH · GitHub
Installing SFTP/SSH Server on Windows using OpenSSH :: WinSCP

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(1件)

タイトル (本文) ブログ名/日時
Windowsでsshコマンドを使用する方法(マイクロソフト製OpenSSH)
Windowsで マイクロソフト製OpenSSH の sshコマンドを利用する方法です。 ...続きを見る
パソコン鳥のブログ
2016/10/27 19:55

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
マイクロソフト製OpenSSHでSSHサーバを設定する パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる