「設定 - SSHの有効化(Windows)」の版間の差分
細 (Wiki がページ「SSHを有効にする(Windows10)」を「設定 - SSHの有効化(Windows10)」に、リダイレクトを残さずに移動しました) |
|||
11行目: | 11行目: | ||
# [OpenSSH サーバー]を選択して、[インストール]ボタンを押下する。 | # [OpenSSH サーバー]を選択して、[インストール]ボタンを押下する。 | ||
# インストール完了後は、サービス一覧に[OpenSSH Server]が登録される。<br>サービスを開始して、スタートアップを[自動]に変更しておくとよい。 | # インストール完了後は、サービス一覧に[OpenSSH Server]が登録される。<br>サービスを開始して、スタートアップを[自動]に変更しておくとよい。 | ||
# コマンドプロンプトまたはPowerShellを管理者権限で実行する。 | |||
## SSHの設定ファイルを、C:\ProgramData\sshフォルダにコピーする。 | |||
##: <code>copy C:\Windows\System32\OpenSSH\sshd_config_default C:\ProgramData\ssh\sshd_config</code> | |||
## SSHの設定ファイル(C:\ProgramData\ssh\sshd_config)において、変更したい箇所がある場合、管理者権限でテキストエディタを開いて編集する。 | |||
## コマンドプロンプトまたはPowerShellを管理者権限で起動して、ファイヤーウォールにおいて、SSHで使用するポート番号(TCP)を開放する。 | |||
##: <code>New-NetFirewallRule -Protocol TCP -LocalPort <SSHのポート番号> -Direction Inbound -Action Allow -DisplayName SSH</code> | |||
##: <code>例. New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH</code> | |||
## SSHを開始する。 | |||
##: <code>Start-Service sshd</code> | |||
## Windowsの起動時に、SSHサーバが自動起動するように設定する。 | |||
##: <code>Set-Service sshd -StartupType Automatic</code> | |||
# Windows Firewallの設定は、自動でOpenSSHサーバが許可された状態となっているが、もし設定がされていない場合は手動で許可する必要がある。 | # Windows Firewallの設定は、自動でOpenSSHサーバが許可された状態となっているが、もし設定がされていない場合は手動で許可する必要がある。 | ||
<br> | <br> |
2022年5月22日 (日) 02:46時点における版
概要
Windows 10 version 1803より、OpenSSHが正式にサポートされた。
これにより、クライアントプログラムは標準でインストールされ、サーバプログラムについても容易にインストール可能となっている。
OpenSSHサーバのインストール
- [スタート] - [設定]を選択する。
- [アプリ]を選択する。
- [オプション機能の管理]を選択する。
- [機能の追加]を選択する。
なお、[OpenSSH クライアント]は標準でインストールされている。 - [OpenSSH サーバー]を選択して、[インストール]ボタンを押下する。
- インストール完了後は、サービス一覧に[OpenSSH Server]が登録される。
サービスを開始して、スタートアップを[自動]に変更しておくとよい。 - コマンドプロンプトまたはPowerShellを管理者権限で実行する。
- SSHの設定ファイルを、C:\ProgramData\sshフォルダにコピーする。
copy C:\Windows\System32\OpenSSH\sshd_config_default C:\ProgramData\ssh\sshd_config
- SSHの設定ファイル(C:\ProgramData\ssh\sshd_config)において、変更したい箇所がある場合、管理者権限でテキストエディタを開いて編集する。
- コマンドプロンプトまたはPowerShellを管理者権限で起動して、ファイヤーウォールにおいて、SSHで使用するポート番号(TCP)を開放する。
New-NetFirewallRule -Protocol TCP -LocalPort <SSHのポート番号> -Direction Inbound -Action Allow -DisplayName SSH
例. New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
- SSHを開始する。
Start-Service sshd
- Windowsの起動時に、SSHサーバが自動起動するように設定する。
Set-Service sshd -StartupType Automatic
- SSHの設定ファイルを、C:\ProgramData\sshフォルダにコピーする。
- Windows Firewallの設定は、自動でOpenSSHサーバが許可された状態となっているが、もし設定がされていない場合は手動で許可する必要がある。
以上で、OpenSSHサーバのインストールは完了である。
SSHクライアントの設定
Windows 10 version 1803以降では、OpenSSHクライアントが標準でインストールされているが、もしインストールされていない場合は、
[スタート] - [設定] - [アプリ] - [オプション機能の管理] - [機能の追加]から、[OpenSSH クライアント]をインストールする。
PowerShellまたはコマンドプロンプトを起動して、sshコマンドが利用できる。
接続は、SSHサーバが稼働するサーバに対して、以下のようにコマンド入力して接続する。
パスワードは、接続ユーザのパスワードである。
ssh ユーザー名@ホスト名(または、IPアドレス)
また、scpコマンドやsftpコマンドによるSSHファイル転送も可能である。
OpenSSHに含まれるプログラムのため、使用方法は、LinuxのOpenSSHと同様である。
SSH 公開鍵認証
SSHクライアント用の秘密鍵と、SSHサーバ用の公開鍵の鍵ペアを作成し、公開鍵認証でログインできるようにする。
SSHサーバの設定
初期設定では、Administratorsグループのみ、公開鍵(authorized_keys)の場所が.ssh\authorized_keysではなく、
以下のパス / ファイル名に設定されているため注意が必要である。
設定ファイルの場所 : C:\ProgramData\ssh\sshd_config authorized_keysの場所 : C:\ProgramData\ssh\ authorized_keysのファイル名 : Administrators_authorized_keys
もし、全てのユーザで設定を合わせる場合、事前に、管理者権限で設定ファイルの最後の2行をコメントアウトして、SSHサービスを再起動する必要がある。
公開鍵・秘密鍵を作成する任意のユーザでログオンして設定する。
以下のように、ssh-keygenコマンドで公開鍵・秘密鍵を生成する。
ssh-keygen
コマンド実行後、ホームフォルダー配下に.sshフォルダが作成され、その直下に鍵ペアが生成される。
.sshフォルダへ移動し、公開鍵のファイル名をauthorized_keysに変更する。
cd .ssh mv id_rsa.pub authorized_keys
上記に記載した通り、Windows OpenSSHの標準設定のままでAdministratorsグループ所属の場合は、
authorized_keysではなくファイル名が異なるので注意する。
公開鍵authorized_keysファイルのアクセス権を変更する。
標準では、Everyoneに読み取り権限が付加されているが、これがあるとSSH鍵認証が通らないため、削除する。
icacls authorized_keys /remove Everyone
以上で、SSHサーバ側の設定は完了である。
SSHクライアントの設定
接続元のSSHクライアント上で、秘密鍵を設定したいユーザでログオンし、PowerShellまたはコマンドプロンプトを起動する。
次に、ホームフォルダ直下(C:\Users\ユーザ名)に.sshフォルダを作成する。
その.sshフォルダ直下に秘密鍵のファイル(id_rsa)を置く。
最後に、SSHサーバに接続できることを確認する。(公開鍵・秘密鍵の生成時にパスフレーズを設定した場合は、パスフレーズの入力が求められる)
ssh ユーザ名@SSHサーバのホスト名(または、IPアドレス)
以上で、SSHクライアント側の設定は完了である。