Windows での SFTP サーバーのセットアップ
- 古い Windows 用の SFTP サーバーのセットアップ
- 新しい Windows 用の SFTP サーバーのセットアップ
- WinSCP を使用して SFTP クライアントをセットアップおよび構成する
SFTP サーバーを使用すると、安全なネットワーク プロトコルである SSH ファイル転送プロトコルを介してファイルやコンテンツにアクセスできます。 OS環境内で、SFTPサーバーをセットアップして、リソースを取得および送信できるようにすることができます。
この記事では、WinSCP ソフトウェアを使用して Windows で SFTP サーバーをセットアップする方法について説明します。
古い Windows 用の SFTP サーバーのセットアップ
Windows で SFTP サーバーをセットアップするには、PowerShell GitHub からダウンロードできる OpenSSH をインストールする必要があります。 こちらのLinux用インストールガイド環境をご確認いただけます。
msi
または zip
ファイルをダウンロードできますが、この記事では msi
ファイルのみを使用します。
-
msi
ファイルをインストールします。 その後、サービス
に移動し、OpenSSH サーバー
とOpenSSH 認証エージェント
のステータスを確認します。 -
Status
とStartup Type
がrunning
とAutomatic
でない場合は、両方のサービスを右クリックしてProperties
を選択します。 -
スタートアップの種類
を自動
に変更し、開始
をクリックして、OK
を選択します。 -
OpenSSH 認証エージェント
についても同じことを行います。 これで、両方のサービスがRunning
とAutomatic
になるはずです。
新しい Windows 用の SFTP サーバーのセットアップ
-
新しい Windows の場合、[設定] > [アプリ] > [オプション機能] に移動して、OpenSSH を取得できます。
-
View Features
を選択し、Add an optional feature
ダイアログ ボックスでOpenSSH server
を検索します。 -
OpenSSHサーバー
チェックボックスオプションを選択し、インストール
をクリックします。 -
その後、以下の PowerShell コマンドを使用して SSH サーバーを構成し、サーバーへの着信接続を許可します。
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\\Windows\\System32\\OpenSSH\\sshd.exe"
-
設定が終わったら、
OpenSSH server
サービスを起動しましょう。 これを設定するには、検索バーでサービス
を検索する必要があります。 -
Windows サービスのリスト内で
OpenSSH サーバー
を見つけます。 -
サービスを右クリックし、
プロパティ
を選択します。 -
スタートアップの種類
を自動
に変更し、開始
をクリックして、OK
を選択します。 -
OpenSSH 認証エージェント
についても同じことを行います。 これで、両方のサービスがRunning
とAutomatic
になるはずです。
WinSCP を使用して SFTP クライアントをセットアップおよび構成する
WinSCP は GPL-3.0 専用のソフトウェアで、自由に使用および変更できます。 SSH File Transfer や Amazon S3 など、さまざまなプロトコル間で安全なファイル転送を実行できます。
Windows でのみ利用可能で、ダウンロード ページ からダウンロードできます。
-
ダウンロードしたら、インストーラー ファイルを実行し、お好みの
インストール モード
を選択します。 -
使用許諾契約に同意し、
標準インストール
オプションを選択します。 -
好みのユーザー インターフェイス スタイルを選択しますが、この記事では
Commander
を使用します。 -
その後、
インストール
をクリックして、WinSCP
アプリケーションを起動します。 -
起動すると、次のような画面が表示されます。
-
ホスト名を入力します。
localhost
を使用します。 デフォルトのポート番号22
を使用し、コンピューターの名前とパスワードを入力します。 その後、ログイン
ボタンをクリックしてください。 -
以下の画面ダイアログが表示されるので、
はい
を選択する必要があります。 -
成功すると、以下の画面が表示されます。
-
成功しなかった場合、
OpenSSH
サービスが実行されていないため、以下のようなダイアログが表示されることがあります。前述の 2つのOpenSSH
サービスを開始する必要があります。 -
これで、
ssh-keygen
コマンドを使用して公開鍵ベースの認証を設定できます。ssh-keygen
コマンドの出力は以下のとおりです。
Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\akinl/.ssh/id_rsa): Created directory 'C:\Users\akinl/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\akinl/.ssh/id_rsa. Your public key has been saved in C:\Users\akinl/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Ryrpy5HHTT1NK2OFzT3NjoIwORbzNV7/BfBfPLhHCEk akinl@Olorunfemi-PC The key's randomart image is: +---[RSA 3072]----+ | o .E=.o | | = +.Bo*.| | * o oo*+O| | o * o +o=*| | o S + B.+.+| | . + + . =. | | + o . | | . + | | o | +----[SHA256]-----+
ssh-keygen
ツールがパスフレーズを要求する場合、パスフレーズを入力できますが、この記事では使用しません。ssh-keygen
は.ssh
という名前の隠しディレクトリを作成し、.ssh
の下のid_rsa.pub
ファイル内にキー ペアを保存しました。公開鍵のフル パスは
C:\Users\akinl/.ssh/id_rsa.pub
です。公開鍵は
id_rsa.pub
ファイルで、秘密鍵はid_rsa
です。 -
秘密鍵と公開鍵を WinSCP にリンクするには、
.ssh
フォルダー内にauthorized_keys
という名前のファイルを作成する必要があります。 公開鍵の内容id_rsa.pub
をauthorized_keys
ファイルにコピーし、変更を保存します。 メモ帳などのテキスト エディタを使用できます。 -
.ssh
ディレクトリには、少なくとも 3つのファイル (authorized_keys
、id_rsa
、およびid_rsa.pub
) が必要です。 -
authorized_keys
ファイルを安全に保ち、管理者またはコア ユーザーのみがアクセスできるようにするには、アクセス コントロール リスト (ACL)
を構成する必要があります。 以下のコマンドを使用して、アクセス制御を構成します。icacls.exe "C:\Users\<username>\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F"
-
<username>
を自分のユーザー名に変更します。icacls.exe "C:\Users\akinl\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F"
コマンドの出力:
processed file: C:\Users\akinl\.ssh\authorized_keys Successfully processed 1 file; Failed processing 0 files
-
したがって、同じ
authorized_keys
ファイルを開くと、以下のダイアログが表示されます。 -
SFTP サーバーを完全に構成するには、
sshd_config
ファイルを編集して公開鍵ベースの認証を設定する必要があります。sshd_config
ファイルはProgramData
ディレクトリにあります。 以下のフル パスを Windows エクスプローラーにコピーし、sshd_config
ファイルを開きます。C:\ProgramData\ssh
sshd_config
ファイルは、ディレクトリ内の最後のファイルです。 -
sshd_config
ファイルの構成情報を含む行のコメントを外すか、変更して変更します。 また、Administrator
としてsshd_config
ファイルを開きます。PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no PermitEmptyPasswords no Subsystem sftp internal-sftp Match User <username> X11Forwarding no AllowTcpForwarding no PermitTTY no ForceCommand internal-sftp PasswordAuthentication no
さらに、
<username>
を自分のユーザー名に変更してください。 さらに、ファイル内の次の構成情報についてコメントすることができます。Match Group administrators AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
-
ssh_config
ファイルへの変更は、以下の画像のようになります。 -
それでは、以前のユーザー名とパスワードのログイン方法を使用して WinSCP を開きましょう。
公開鍵認証のみをサポートするように構成ファイルを変更したため、サポートされなくなりました。 今すぐログインするには、公開鍵を使用する必要があります。
-
Password
を使用する代わりに、Advanced
ボタンをクリックします。 -
SSH
の下の認証
タブに移動します。 -
認証パラメーター
エリアで、秘密鍵ファイルを参照し、.ssh
ディレクトリ (C:\Users\akinl\.ssh
) に移動し、ファイル オプションをすべてのファイル
に変更します。 -
id_rsa
ファイルを選択すると、以下のダイアログが表示されます。OK
を選択してください。その後、以下のダイアログが表示されます。
-
次に、
OK
をクリックします。 -
次に、
ログイン
をクリックします。これで、公開鍵認証を使用して SFTP サーバーにアクセスできるようになりました。
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn