LinuxサーバーからWindowsクライアントにSCPする方法


23

PuTTYを使用してLinuxマシンにSSHで接続し、ファイルをどこか(どこでも)ローカルマシンにコピーしようとしています。私のフィギュア SCPは限りソリューションの作品のように、仕事に最適な候補であるが、本当に気にしません!

I cd私は(したいファイルを含むディレクトリへのapp.war)とは、次のように入力します。

scp app.war ./

私は両方を試してみました:

scp app.war ./C:/Users/myUser/
scp app.war ./Users/myUser/

SCPはおそらくクライアント/サーバーツールであり、Windowsマシンにはクライアントが必要ですが、そこにはないのではないかと考えました。

間違った構文を使用していますか?それとも私はオフベースですか?その場合、どのようなオプションがありますか?前もって感謝します!


この質問への本当の答えはここにある:stackoverflow.com/a/23412501/1579667。構文はscp some_file user@host:/c/temp
次のとおりです-Benj

Bitvise SSHクライアントおよびサーバーも参照してください。これは、Windows用の最も古いSSHソフトウェアの1つです。クライアントは無料でダウンロードでき、無料で使用できます。
jww

回答:


25

ファイルをWindowsにコピーして戻すには、WindowsでSSHデーモン/サービスを実行する必要があります。代わりにこのツールを使用する方がはるかに簡単です。Puttyからセッションをインポートすることができます。大好きです!

WinSCP :: Windows用の無料のSFTPおよびFTPクライアント


ただ素晴らしいツール:)。それが
大好き

コマンドラインに存在していた元の質問には実際には答えていません。元の質問の下に私のコメントを参照してください。
-Benj

@Benj OPは解決策を求めましたWinSCPが、そのタスクに適した解決策です。
アレクサス

12

あなたは正しいです。SSHDは、ホストで実行されるSSHサーバーサービスです。SSHクライアント(PuTTyなど)、SCPクライアント、SFTPクライアントからの接続を受け入れます。

PuTTYがホストさpscpれているのと同じWebサイトからダウンロードできます。

Windowsマシンから、次のようなコマンドを実行します。

pscp.exe someuser@somehost.com:/path/to/app.war c:\tmp


2

ファイルをWindowsマシンにSCPするには、Windows上にSSH / SCPサーバーが必要です。

Windowsでは、デフォルトでSSH / SCPはサポートされていません。OpenSSH for Windowsの Microsoftビルド(リリースおよびダウンロード)をインストールできます。Windows 10バージョン1803以降ではオプション機能として利用できます。古いバージョンのWindowsに手動でインストールすることもできます。

このMicrosoftビルドのOpenSSHを使用して、WindowsでSSH / SFTPサーバーをセットアップするためのガイドを用意しました。

IIS SFTPはWindowsでネイティブにサポートされていますか?もご覧ください


WindowsマシンからLinuxサーバーにSSHで接続すると、LinuxサーバーからWindowsサーバーにファイルをアップロードする代わりに、実際にLinuxサーバーからWindowsサーバーにファイルをダウンロードできます。

WindowsからLinuxへのSSHアクセスがある場合、SCPアクセス(またはSFTPアクセス)があります。

利用可能なSCP / SFTPクライアントを使用します。

GUIコマンドラインインターフェイスの両方を備えたWinSCP SFTP / SCPクライアントを使用できます

もう1つの代替手段はPuTTYツールセットで、OpenSSH コマンドに類似した構文のpscpコマンドラインツールが含まれていますscp。また、Windows 10の最新バージョンにはOpenSSHがscp組み込まれており、古いバージョンにもインストールできます。

(私はWinSCPの著者です)


OSX / Linux用のpscpのバージョンはありますか?
-codingknob

@codingknob確かに、多くのディストリビューションには「putty」パッケージがあります。は、pscp機能的にはOpenSSHと同じですが、scpすでにすべての/ほとんどのディストリビューションで容易に入手できます。
マーティンPrikryl

1

Windows 10にOpenSSHが組み込まれました 。https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse

adminコマンドプロンプトを取得する

Open PowerShell as an Administrator.

利用可能なバージョンを確認する

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

クライアントをインストールする

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

サーバーをインストールする

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

サーバーを起動し、起動時に有効にします

Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'

Windows IPアドレスを見つける

ipconfig

リモート(Linux)マシンで、IPアドレスを見つけます。

ifconfig

公開SSHキーを作成する

ssh-keygen.exe

公開鍵をローカル(Windows)からリモート(Linux)マシンにコピーして、常にパスワードを入力する必要がないようにします。

ssh-copy-idは現在Windowsでは使用できないことに注意してください。

cat C:\Users\YOU/.ssh/id_rsa.pub | ssh USER@REMOTE_IP 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'

Linuxマシンで同じことを行います(注、ssh-copy-idは機能しません)

ssh-keygen # if needed
cat ~/.ssh/id_rsa.pub | ssh USER@WINDOWS_IP 'mkdir -p ~/.ssh && type con >> C:/Users/YOU/.ssh/authorized_keys'
  • 上記の方法はうまくいきませんでしたので、公開鍵を手動でSCPし、C:/Users/YOU/.ssh/authorized_keysファイルに貼り付けました。

  • それでも動作しなかったため、sshd_configファイルを変更する必要がありました。

    • 管理者としてメモ帳を開く

    • %programdata%\ ssh \ sshd_configを開きます

    • 次の行を追加します。

        Match User YOU
             AuthorizedKeysFile C:/Users/YOU/.ssh/authorized_keys
  • リブート

Windowsでパスワードをまだ作成していない場合は作成します

System Settings...Sign-in options

-注)a)「サインインが必要」オプションをneverに設定し、b)「netplwiz」コマンドを使用し、「ユーザーはパスワードを入力する必要があります...」チェックボックスをオフにして、Windowsログイン画面を無効にすることができます。

これで、LinuxマシンからSSHまたはSCPできるようになります。

scp FILE WINDOWS_IP:C:/Users/YOU/Desktop

1

これを行うには、Windows用のLinux Ubuntuサブシステムを使用します(これをWindows機能として有効にする必要があります)。次に、Microsoft Store(Ubuntu 16.04 LTSなど)からWindowsで実行するLinuxターミナルクライアントを使用できます。次に、Linuxマシンにリモート接続するようにsshセキュリティを設定している場合scp、ローカルのWindows Ubuntuターミナルから(Linuxインスタンスに設定したユーザー名としてログインした場合)次のようにできます。

scp -i ~/.ssh/my_rsa username@11.11.11.11:~/myfile ~/ ... RSAパスフレーズを入力します

リモートファイルは、Windowsが使用するローカルUbuntuファイルシステムにコピーされます。例

C:\Users\my.username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\my_linux_username


1
Windows 10の最新バージョンには、(Win32-OpenSSH)scp(.exe)が組み込まれています。何もインストールする必要はありません。
マーティンプリクリル

-1

ステップ1:pscp
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.htmlをダウンロードします
(お使いのマシンに基づいて、それぞれのバージョンをダウンロードします)

ステップ2:pscpコマンドに慣れるには
、Windowsマシンでコマンドプロンプトを開き、pscp.exeをダウンロードしたディレクトリに移動して「pscp」と入力します。

ステップ3:LinuxマシンからWindowsマシンにファイルを転送し
てコマンドプロンプトを開き、以下のコマンドを実行して詳細を提供します。

pscp usernameofyourlinuxmachine@10.40.000.000:/path/of/your/File/nameofyourfile.txt ./

このコマンドは、ファイルをLinuxマシンからWindowsマシンの現在のディレクトリに転送します

ステップ4:WindowsマシンからLinuxマシンにファイルを転送し
てコマンドプロンプトを開き、以下のコマンドを実行して詳細を提供します。

pscp nameofyourfile.txt usernameofyourlinuxmachine@10.40.000.000:/path/where/youwantyourfile

これが明確で、すべての人に役立つことを願っています!


2
リンクのみの回答は将来役に立たなくなる可能性があるため、役に立たない-ビデオの手順を実際に説明して、回答を拡大してみてください。
暗闇の中でdjsmiley2k
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.