OpenSSHを使用したWindowsへのSFTP(SSH FTP)サーバーのインストール
Windows用の公式OpenSSHパッケージを使用すると、 SFTP を使用して、クライアントとWindowsサーバー間の安全なファイル転送を簡単に整理できます。 (セキュアFTP )プロトコル。この記事では、Win32-OpenSSHを使用してWindows10またはWindowsServer2016/2012R2でSFTPサーバーを実行する方法を示します。
内容:
- SFTPとは何ですか?
- WindowsでのSFTPの実装
- Windows 10 1803 + / WindowsServer2019へのWin32OpenSSHのインストール
- Windows Server2016/2012R2にWin32OpenSSHをインストールする
- WinSCPを使用したSFTP接続のテスト
- Win32 OpenSSHをアンインストールする方法は?
SFTPとは何ですか?
SFTP (安全 ファイル転送プロトコル 、セキュアFTP またはSSHFTP )はSSHプロトコルの拡張であり、UNIX/Linuxシステムの世界で標準となっています。ユーザーの観点からはFTPに似ていますが、実際には完全に異なるプロトコルであり、FTPとの共通点はありません。データは、SSHトンネル(TCPポート22)を介してクライアントとサーバー間で転送されます。
SFTPの主な利点:
- ファイルとコマンドは安全なSSHセッション内で転送されます;
- 1つの接続を使用してファイルとコマンドの両方を送信します。
- シンボリックリンク、割り込み/再開転送、ファイル削除機能などがサポートされています。
- 原則として、FTPが遅いか失敗しているチャネルでは、SFTP接続はより高速で信頼性が高くなります。
- SSHキーを使用して認証する可能性。
WindowsでのSFTP実装
これまで、Windowsオペレーティングシステムには、安全なSFTPサーバーを実行するための組み込みツールはありません。これらの目的のために、Core FTP、FileZilla、CYGWIN、OpenSSH、FTP Shell、IPSwitchなどのオープンソースまたは独自のソリューションが使用されています。ただし、数年前、MicrosoftはWin32用のOpenSSHポートのバージョンをリリースしました。このプロジェクトはWin32-OpenSSHと呼ばれます 。
Win32 OpenSSHを使用してWindows10またはWindowsServer2019/2016/2012R2を実行しているSFTPサーバーの構成について考えてみましょう。 パッケージ。
Windows 10 1803 + / WindowsServer2019へのWin32OpenSSHのインストール
Windows10ビルド1803以降およびWindowsServer2019では、OpenSSHパッケージはRSATのようなFeature on Demand(FoD)の形式でオペレーティングシステムにすでに含まれています。
次のPowerShellコマンドレットを使用して、Windows10およびWindowsServer2019にOpenSSHサーバーをインストールできます。
Add-WindowsCapability -Online -Name OpenSSH.Server*
または、DISMを使用します:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
また、Windows 10 GUIからOpenSSHサーバーを追加することもできます(設定 ->アプリ ->オプション機能 ->機能を追加する ->SSHサーバーを開く ->インストール 。
- OpenSSH実行可能ファイルは次のディレクトリにあります:
c:\windows\system32\OpenSSH\
; - sshd_config 構成ファイルは次のディレクトリにあります:
C:\ProgramData\ssh
(このディレクトリは、sshdサービスの最初の開始後に作成されます); - ログファイル:
c:\windows\system32\OpenSSH\logs\sshd.log
; - authorized_keysファイルとキーは次のディレクトリに保存されます:
%USERPROFILE%\.ssh\
。
これで、LinuxのようにSSH経由でWindows10に接続できます。
Windows Server2016/2012R2にWin32OpenSSHをインストールする
以前のバージョンのWindows10およびWindowsServer2016/2012 R2では、GitHub(https://github.com/PowerShell/Win32-OpenSSH/releases)からOpenSSHをダウンロードしてインストールする必要があります。 Windows x64のパッケージバージョンをダウンロードする必要があります: OpenSSH-Win64.zip (3.5 MB)。
- アーカイブをターゲットディレクトリに抽出します:C:\ OpenSSH-Win;
- 昇格されたPowerShellCLIを起動し、OpenSSHフォルダーに切り替えます:
Cd C:\OpenSSH-Win
- OpenSSHディレクトリへのパスをPath環境変数に追加します([システムプロパティ]->[詳細設定]タブ->[環境変数]->パスを選択して編集します システム変数->OpenSSHフォルダーへのパスを追加します);
- OpenSSHサーバーをインストールします:
.\install-sshd.ps1
(緑色のメッセージが表示されます。「sshdおよびssh-agentサービスが正常にインストールされました」 ”); - サーバーのSSHキーを生成します(sshdサービスを開始するために必要):
ssh-keygen.exe –A
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
- SSHDサービスの自動開始を有効にし、次のPowerShellサービス管理コマンドを使用して開始します。
Set-Service -Name sshd -StartupType ‘Automatic’
Start-Service sshd
- コンピュータを再起動します:
Restart-Computer
- PowerShellを使用して、着信SSHトラフィック用にWindowsファイアウォールのTCPポート22を開きます。
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
注 。前のコマンドは、古いデスクトップWindowsバージョンでは機能しません。この場合、別のコマンドが使用されます。netsh advfirewall firewall add rule name='SSH Port' dir=in action=allow protocol=TCP localport=22
- SSHD構成ファイル(C:\ ProgramData \ SSH \ sshd_config)を任意のテキストエディターで開きます。 サブシステムsftpの値を見つけて確認します 指令。 sftp-server.exe ここでファイルを指定する必要があります。
AllowGroups corp\sftp_users #
このドメイングループのユーザーに対してのみOpenSSHへの接続を許可する
AuthenticationMethods password #
パスワード認証を有効にします(SSHキーは使用できません)
ForceCommand internal-sftp
ChrootDirectory C:\inetpub\wwwroot\ftpfolder #
SFTPユーザーのデフォルトディレクトリ
WinSCPを使用したSFTP接続のテスト
SFTPプロトコルを使用して、作成したSSHサーバーに接続してみましょう。これを行うには、無料の WinSCPを使用します クライアント。
接続設定ウィンドウで、 SFTPを選択します ファイル転送プロトコルとして、接続に使用されるWindowsアカウントのサーバー名と資格情報を指定します(キー認証を構成することもできます)。
初めて接続しようとすると、ローカルキャッシュにホストキーが見つからないという次の通知が表示されます。
すべてが正しく構成されている場合、クライアントはSFTPサーバーに接続し、ユーザーのホームディレクトリ(デフォルトでは、ユーザープロファイルのあるディレクトリ)にあるファイルのリストを表示します。
おなじみのファイルマネージャインターフェースを使用する( Total Commander など) )、サーバーとクライアント間でファイルをコピーできます。ファイルは安全なSFTPを使用して転送されます。
Win32OpenSSHをアンインストールする方法
システムからWin32OpenSSHを正しくアンインストールするには:
- 昇格されたPowerShellセッションを実行します;
- SSHDサービスを停止します:
Stop-Service sshd
- sshdサービスをアンインストールします:
.\uninstall-sshlsa.ps1
sshd successfully uninstalled ssh-agent successfully uninstalled
-
Windows 10 で FTP サーバーをセットアップおよび管理する方法
Windows 10 のファイル転送プロトコル サーバーを使用すると、ユーザーは事実上どこからでも PC にファイルをダウンロードおよびアップロードできます。 FTP とも呼ばれるファイル転送プロトコル サーバーを使用する場合は、完全に制御できるプライベート クラウドを開発していることになります。さらに、速度はインターネット契約に依存し、毎月の転送上限はありません.ファイルサイズやタイプの制限や制限がないなど、他の利点があります。したがって、バックアップ ファイルが 1KB ほど小さいか、1 TB ほど大きいかは関係ありません。作成するアカウントの数に制限はないので、あなた、あなたの友人、同僚
-
SSH サーバーを使用して障害のある Windows PC にアクセスする方法
システムが突然クラッシュし、コマンドに応答しなくなることがあります。コンピューター上の重要なものにアクセスしたいが、コンピューターが動作していないためにアクセスできない場合、状態はさらに悪化します。 SSH サーバーを使用して障害のある Windows PC にアクセスし、問題を解決できるようになりました。ほとんどの人は SSH とは何かを知らないかもしれません。そのため、先に進む前に、SSH について簡単に理解しておきましょう。 SSH サーバーとは SSH (別名 Secure Shell) は、セキュリティで保護されていないネットワーク上でネットワーク サービスを安全に操作するため