私のコンピューターから別の人のコンピューターにファイルを転送するための最良の方法を探しています。
私たちはどちらもWindowsを使用しており、TeamViewerなどのいくつかの外部プログラムを使用してファイルを転送できますが、速度が不足していることがわかりました。そこで、データを転送する他の方法を見つけようとしました。 Linuxでは、scp
とftp
などがあるので、これはとても簡単です。しかし、Windowsでは、そのようなサポートはありません。少なくともネイティブではありません。
だから私は TeamViewer (しかし遅い速度)を試しました、そして WinSCP がありますが、ある種のサーバーをセットアップする必要があります(ssh daemon
?)。
[〜#〜] pscp [〜#〜] も機能せず、エラーが発生するだけです。
ローカルからローカルへの転送はサポートされていません。
FTPにはFTPサーバーも必要です。
他にどのようなオプションがありますか?ファイルを転送する好ましい方法は何ですか?
BitTorrentテクノロジーを使用できると思いますが、トラッカーアドレスが必要です。もちろん、これらを見つけるのはそれほど難しいことではありませんが、コマンドラインオプションを使用してファイルを転送するLinuxの方法、またはクライアントからクライアントへのデータ転送を簡単かつ高速に行えるものに相当するものは本当にありますか?
バージョン1803以降、Windows10には OpenSSH for Windows が組み込まれています。
古いバージョンのWindowsの場合、OpenSSHを手動でインストールできます。
このMicrosoftビルドのOpenSSHを使用したWindows上のSSH/SFTPサーバー をセットアップするためのガイドを用意しました。
FTPの場合、IIS(Webサーバー)に組み込まれているFTPサーバーを使用できます。デフォルトでは実行されていません。IISを使用してWebサイトを設定しなくてもFTPサーバーを設定します。
IISでFTPサーバーをセットアップするときは、セキュリティのために、TLS/SSL暗号化(FTPS)を強制し、匿名認証を禁止するようにしてください。
IISを使用したWindowsへのセキュアFTPサーバーのインストール に関する(私の)ガイドを参照してください。
FTP(S)サーバーをセットアップすると、任意のFTPクライアントを使用できるようになります。 Windowsエクスプローラー自体はFTP(S)をサポートしています。ただし、Windowsの組み込みコマンドラインftp.exe
クライアントは、TLS/SSLまたはパッシブモードをサポートしていないため、役に立ちません(したがって、ファイアウォールやNATを介して接続することはほとんどできません)。
Powershellリモーティングを使用できます(Powershell 5以降)
https://docs.Microsoft.com/en-us/powershell/module/Microsoft.powershell.management/copy-item に多くの例があります
これは、PowershellでHelp Copy-Item -Examples
を実行することでも取得できます。
これは、ローカルファイルをリモートコンピュータにコピーする簡単な例です。
例5:ファイルをリモートコンピューターにコピーする
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\PattiFul" Copy-Item "C:\MyRemoteData\test.log" -Destination "D:\MyLocalData\" -FromSession $Session
現在のところ、Windows 10でネイティブscpを使用することは可能です。最後のオプションとして、構成メニューまたはPowerShellを使用してインストールできます。コードは次のとおりです。
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
Set-Service -Name ssh-agent -StartupType 'Automatic'
Start-Service ssh-agent
着信接続にはOpenSSHサーバー、発信にはクライアントが必要です。
ファイアウォールを備えたウイルス対策ソフトウェアを使用している場合は、ポート22でsshの送信ルールと受信ルールを作成することを忘れないでください。