OpenSSHのインストール
Windowsの設定画面からOpenSSHの機能を追加することができる。
・Windowsの設定を開く。(ショートカット:Win+I)
・「オプション機能」で検索し、「オプション機能の追加」を選択。
・「オプション機能を追加する」の右にある「機能を表示」をクリック。
・「OpenSSH」で検索して出てくる「OpenSSH サーバー」にチェックを入れて「次へ」をクリック。続けて「追加」をクリック。数分かかる。
・オプション機能の画面で「OpenSSH」で検索して「OpenSSH サーバー」があればOK。「OpenSSH クライアント」はデフォルトで入っている。
ユーザーの作成
WindowsPCのユーザー情報がSFTP認証に使用されるので、必要に応じて追加する。
・Windowsの設定を開く。(ショートカット:Win+I)
・「他の」で検索し、「他のユーザー」を選択。
・「Microsoftアカウントを持たないユーザーを追加する」をクリック。
・ユーザー名、パスワード、パスワードを忘れた場合の質問と答えを入力して「次へ」をクリック。
SSHのポート設定
SSH通信に割り当てるポートを設定する。
・スタート画面で「セキュリティ」で検索して、「セキュリティが強化されたWindowsDefenderファイアウォール」を開く。
・「受信の規則」を右クリックし、「新しい規則」を選択。
・「ポート」を選択し、「次へ」をクリック。
・「TCP」を選択。「特定のローカルポート」を選択。「22」を入力し「次へ」をクリック。
・「接続を許可する」を選択し、「次へ」をクリック。
・とりあえずネットワーク経由で使わない想定なので「パブリック」の選択を外して、「次へ」をクリック。
・わかりやすい名前を付けて、「完了」をクリック。
・一覧に出ていればOK。
サービスの起動
OpenSSHサービスを起動する。
・スタート画面で「サービス」で検索して、「サービス」を開く。
・一覧の中から「OpenSSH SSH Server」を探し選択し、「サービスの開始」をクリック。
・<任意>右クリックしてプロパティを開いて、スタートアップの種類を「自動」にするとPC起動時に自動的にサービスが開始する。
<動作確認>
もう一台のPCをクライアント側として使用してファイル転送を行う。
・サーバーPCとクライアントPCをLANケーブルで接続する。
・サーバーPCで、スタートで「コマンド」で検索して「コマンドプロンプト」を開く。
・「ipconfig」を入力してエンターを押す。イーサネットのIPv4アドレスを確認する。
・クライアントPCで、コマンドプロンプトを開く。「sftp <ユーザー名>@<接続先>」のコマンドを入れる。
(例)sftp test@192.168.100.100
・初回は「Are you sure you want to continue connecting?」と出てくるので「yes」を入力してエンター。
・パスワードを入力してエンター。(パスワードは入力しても表示されない)
・「sftp>」と表示されている状態になればOK。
・「dir」コマンドを打てば、SFTPサーバーのディレクトリ情報だ出てくる。
・「put」コマンドを打てば、ファイルを転送できる。
(例)事前にtest.txtを作っておいて「put C:\test.txt」というコマンドを打つ。
<OpenSSHを使ったSFTPサーバーの設定変更>
各種のアルゴリズムに何を使うかなどの設定を変更できる。
・C\ProgramData\ssh\sshd_configを編集することで、設定できる。
・例えば、暗号化に使用するアルゴリズムを変更する。下図の20行目を追加した。
・WireSharkで「encryption:aes128-ctr」になっていることが確認できる。