【Windows/FTP&SFTP接続】初心者がWindows11からWindows2022へFTP&SFTP接続した備忘録
どうも!前歯すきっ歯です🦷
Linuxサーバ⇒LinuxサーバのFTP接続やSFTP接続の記事は沢山ありますが、
Windows11⇒Windows Server2022へのFTP接続やSFTP接続の記事が少なかったので
備忘録も兼ねて自分の学習記録を残しておきます!!!
1.本記事について
1.1💪勉強のゴール💪
今回のゴールは以下4点です。
1.2 前提条件
各PCやサーバの配置は以下構成図の通りです。また、ルーティングやセキュリティグループ等クラウド上の必要な設定は行われているものとします。WindowsServer2022内のFTP/SFTPサーバ内でDドライブは作成済みです。
2.知識収集
今回の勉強にあたり、調べた時に個人的に分かりやすかったリンク8つをご紹介します。
FTP接続の手順
2.1この記事に倣って進めていけばFTP接続ができます!
WinSCPのインストール方法
2.22.1の記事の中ではWinSCPというアプリを使ってFTP接続を行います。この記事はWinSCPのセットアップ方法を書いてくれている記事です。
IISのバインドとは
2.3FTPサーバ設定中に出てくる[バインド]という用語の解説記事です。
匿名認証とは
2.4FTPサーバ接続にあたり出てくる[匿名接続]について記載があります。
SFTP接続の手順
2.5この記事はパスワード認証をしているので、自分の記事では公開鍵認証に置き換えて実施します。
8割くらいはこの記事をなぞり進めていきます。
サーバへの公開鍵の登録方法
2.6サーバへの公開鍵の登録方法がOS別に表になっていて分かりやすかったです!
本記事以外の時にもぜひ手元に置きたいリンクです。
SCPコマンドの使い方
2.7SCPコマンドのオプションや詳細な使い方を知りたい場合はこの記事からどうぞ。
SFTPコマンドの使い方
2.8SFTPコマンドのオプションや接続後のコマンドが一覧となって見られます。
3.FTPサーバの構築手順
大船に乗った気分で[2.1 FTP接続の手順]の記事に倣って進めていけば大丈夫です!
接続時に以下リンク内冒頭のエラーが出て対処したので、
皆さんも接続時にエラーが出た場合はご覧ください!
4.SFTPサーバの構築手順
4.1 ユーザー/ディレクトリ作成~OpemSSHインストール
まずは[2.5SFTP接続の手順]で紹介した記事内の[1.ユーザの作成]~[3.OpenSSHのインストール]までの手順を実施します。
4.2 sshd_configの変更
4.2.1 sshd_configの位置
sshd_configはC:\ProgramData\ssh\sshd_config
にあります。
エクスプローラーに上記パスを打ち込めば辿りつけますが、GUIでファイルにアクセスする場合は隠しファイルとなっているので、以下画像にしたがってファイルのパスを辿ってください。
エクスプローラの表示から[隠しファイル]を選択
ProgramDataの隠しファイルが出現
上記パスを辿る
4.2.2 sshd_configの変更内容
[1.1勉強のゴール]でお伝えした内容を達成するためにsshd_configのを以下のように変更し、OpenSSHを[サービス]
から再起動してください。
(中略)
### rootユーザーでのログインを拒否 ###
#PermitRootLogin prohibit-password
PermitRootLogin no
(中略)
### 公開鍵認証を許可 ###
PubkeyAuthentication yes
(中略)
### Administraotrsのauthorized_keysの指定を無効化 ###
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
(中略)
### 以下は追加箇所 ###
### Administratorsグループの接続拒否 ###
DenyGroups administrators
### sftpgroupグループの接続有効化 ###
#AllowGroups SFTPGroup
### sftpuserのauthorized_keysとchrootの先の設定 ###
Match User SFTPUser
AuthorizedKeysFile C:\Users\SFTPUser\.ssh\authorized_keys
ChrootDirectory D:\\SFTPRoot\SFTPSite ### sftpuserのchroot設定 ###
4.2.3 OpenSSHが起動しない原因
-
chroot指定のパスでディスクの次の
\
が1個しかない
次のリンク内に記載があるようにChrootDirectory
の値としてディスク後の\
を2個入れる必要があるようです。ただし、自分で試したところ後述するauthorized_keys
のパス等他の部分では上記の必要はないようです。詳細は以下をご覧ください。
4.3 SSH鍵の作成
ここでは接続元Windows11のコマンドプロンプトでキーペアを作成して、SCPコマンドでSFTPサーバーに送ります。ここではSSHキーを作成します。
>ssh-keygen
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\[ユーザー名]/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\[ユーザー名]/.ssh/id_ed25519
Your public key has been saved in C:\Users\[ユーザー名]/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:********************************************@[PCの名前]
The key's randomart image is:
+--[ED25519 256]--+
| ++O= .. . |
| + O.o+. . + o|
| . B o.. = +o|
| + oo + B +|
| . o S o O B+|
| . o O E|
| o o . |
| o . |
| . |
+----[SHA256]-----+
4.4 authorized_keysの作成
Winodows11からSCPで公開鍵をWindowsServer2022へ転送します。
転送と同時にauthorized_keysを作成できるようにファイル名を記述します。
※SCPの詳細な仕様は2.7 SCPコマンドの使い方参照
>scp C:\Users\[ユーザー名]\.ssh\id_ed25519.pub SFTPUser@[SFTPサーバのIPアドレス]:/Users/SFTPUser/.ssh/authorized_keys
The authenticity of host '[SFTPサーバのIPアドレス] ([SFTPサーバのIPアドレス])' can't be established.
ED25519 key fingerprint is SHA256:*******************************************
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Warning: Permanently added '[SFTPサーバのIPアドレス]' (ED25519) to the list of known hosts.
SFTPUser@[SFTPサーバのIPアドレス]'s password:
id_ed25519.pub 100% 104 2.1KB/s 00:00
4.5 SFTPUserでのファイル転送
SSH鍵の準備ができたので、Winodws11のコマンドプロンプトからSFTP接続を使ってファイル転送を行います。
※SFTPの詳細な仕様は2.8 SFTPコマンドの使い方参照
参照
>sftp -i C:\Users\[ユーザー名]/.ssh/id_ed25519.pub SFTPUser@[SFTPサーバのIPアドレス]
Connected to [SFTPサーバのIPアドレス].
sftp>
sftp> put C:\[テスト用ファイルのパス]\SFTP-Test.txt
Uploading C:/[テスト用ファイルのパス]/SFTP-Test.txt to /SFTP-Test.txt
SFTP-Test.txt 100% 0 0.0KB/s 00:00
Discussion