Linuxマシンに正常に接続するために、WindowsマシンでPuTTYクライアントを実行しています。ここで、ローカルコンピューターの/home/ubuntu/myfile
からC:/Users/Anshul/Desktop
のパスの下にあるLinuxマシンからファイルをコピーできるようにしたいと思います。 Windowsマシンのユーザーはanshul
です。 PuTTYで次のコマンドを実行していますが、機能していません。
scp /home/ubuntu/myfile ip_address_of_windows_machine:C:/Users/Anshul/Desktop
Windowsマシンのパスが間違っていると思います。私は多くのフォーラムで頭を打ちましたが、Windowsサーバーの正しいパスを提供していないようです。 WinScp
のような代替オプションを提案しないでください
PuTTYダウンロードページ からpscp
をダウンロードし、WindowsマシンCMDから次のように使用します。
pscp username_linux_machine@ip_of_linux_machine:/home/ubuntu/myfile.ext C:\Users\Name\Downloads
Linuxマシンのユーザー名パスワードについて尋ねられ、コピーが行われます。
これを試してください、それは本当に動作します。
$ scp username@from_Host_ip:/home/ubuntu/myfile /cygdrive/c/Users/Anshul/Desktop
そして、すべてのファイルをコピーするため
$ scp -r username@from_Host_ip:/home/ubuntu/ *. * /cygdrive/c/Users/Anshul/Desktop
これは私のために働いた。
scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop
WindowsはSSH/SCP/SFTP
をネイティブにサポートしていません。そのWindowsサーバーでSSHサーバーアプリケーションを実行していますか?その場合、構成オプションの1つはおそらくルートの場所であり、そのルートに関連するパスを指定します。いずれにしても、Windowsで実行しているSSHサーバーアプリケーションのドキュメントを確認してください。
または、smbclient
を使用して、ファイルをWindows共有にプッシュします。
Git BashコンソールによるWindowsからのアクセス:
scp root@ip:/etc/../your-file "C:/Users/XXX/Download"
私見、あなたは次のようなものを使用します
scp -r username_Linuxmachine@LinuxMachineAddress:Path/To/File .
.
は、File
をプログラムのローカルのデフォルトディレクトリにコピーします。たとえば、GitBashを使用すると、D:ドライブの下にある構成済みの作業フォルダーにファイルが保存されます。
「Git Bash」を使用してGiTを完全にインストールしたすべての人にとって、次のように書くことができます。
scp login@ip_addres:/location/to/folders/file.tar .
(現在の場所にコピーするスペースとDOTが最後にあります)。証明書を追加する(y)だけでなく、パスワードを書き込むだけです。
PuTTYをダウンロードしてインストールしたら、Heshamの投稿のようにpscpを使用する必要がありました。 Windows上のLinuxからWindowsにそれをしたので、次を入力しました。
c:\ ssl> pscp username @ linuxserver:keenan/ssl/*.
これにより、keenan/sslフォルダー内のすべてが(c:\ ssl)からこのコマンドを実行したローカルフォルダー(。)にコピーされます。 keenan/sslは、ユーザー名ユーザーのホームフォルダーを指定します。たとえば、フルパスは/ home/username/keenan/sslになります。次のように、スラッシュ(/)を使用して別のフォルダーを指定できます。
c:\ ssl> pscp username @ linuxserver:/ home/username/keenan/ssl/*.
したがって、:/を使用してLinuxのルートにある任意のフォルダーを指定できます。
キーナン
Linuxは/ mnt/cまたは/ mnt/cを使用する
ローカルwindows10-ubuntu bashからこのコマンドを使用:
ダウンロード用:(リモートサーバーフォルダーからd:/ ubuntuへ):
scp username@ipaddress:/folder/file.txt /mnt/d/ubuntu
次に、必要に応じてリモートサーバーのパスワードを入力します。
アップロード用:(d:/ ubuntuからリモートサーバーへ):
scp /mnt/d/ubuntu/file.txt username@ipaddress:/folder/file.txt
次に、必要に応じてリモートサーバーのパスワードを入力します。注:テストを行ったところ、うまくいきました。
SshによるパスワードなしでSCPを使用してLinuxからWindowsにファイルをコピーするソリューションは次のとおりです。
Linuxマシンにsshpassをインストールしてパスワードプロンプトをスキップする
脚本
sshpass -p 'xxxxxxx' scp /home/user1/*.* [email protected]:/d/test/
詳細:
sshpass -p 'password' scp /source_path/*.* windowsusername@windowsMachine_ip:/destination_drive/subfolder/
@Hesham Eraqiが示唆したように、この方法でうまくいきました(UbuntuからWindowsに移行しました(その答えにコメントを追加しようとしましたが、評判のためにできませんでした))。
pscp -v -r -P 53670 [email protected]:/data/genetic_map/sample/P2_283/* \\Desktop-mojbd3n\d\cc_01-1940_data\
どこ:
-v
:詳細メッセージを表示します。-r
:ディレクトリを再帰的にコピーします。-P
:指定されたポートに接続します。53670
:Ubuntuサーバーに接続するためのポート番号。\\Desktop-mojbd3n\d\genetic_map_data\
:外部HDDに転送する必要があったため、このデバイスに共有の許可を与える必要がありました。
Bashウィンドウを開きます。 できればgit bash。書く
scp username @ remote_ip:/ directory_of_file/filename 'windows_location_you_want_to_store_the_file'
例:
ユーザー名がjewelであるとします
あなたのIPは176.35.96.32
リモートファイルの場所は/ usr/local/forme
ファイル名はlogs.Zipです
Windows PCのDドライブフォルムフォルダーに保存する場合、コマンドは
scp jewel@176.35.96.32:/usr/local/forme/logs.Zip 'D:/ forme'
**ローカルファイルディレクトリは一重引用符で囲んでください。
WindowsからLinuxシステムにファイルを送信するには
scpファイルへのパスuser @ ipaddress:/ path-to-destination
例:
scp C:/Users/adarsh/Desktop/Document.txt [email protected]:/tmp
windowsパスのファイルには、バックスラッシュ(\)の代わりにスラッシュ(/)を使用する必要があることに注意してください。そうしないと、エラーが表示されます。
C:UsersadarshDesktopDocument.txt:そのようなファイルまたはディレクトリはありません
。 scpコマンドを実行した後、Linuxマシンのrootユーザーのパスワードを要求します。そこに行く...
LinuxからWindowsシステムにファイルを送信するには
scp -r user @ ipaddress:/ path-to-file path-to-destination
例:
scp -r [email protected]:/tmp/Document.txt C:/Users/adarsh/Desktop/
linuxパスワードを入力します。このコマンドに追加する必要があるのは-rのみです。ありがとう。