scpを使用してローカルデスクトップ上の指定したパスにリモートファイルをコピーする


10

SCPを使用してリモートサーバーからファイルをコピーしようとしましたが、次のエラーが発生しました。

bash-3.2$ scp username@server:main.php C:\main.php

ssh:ホスト名Cを解決できませんでした:ホスト名または指定されたservname、または不明

C:をホスト名と想定していますが、ドライブ名だけを想定しています。

私はローカルデスクトップ上で保存する場所のパスを指定しない場合は、その正常に動作します。

bash-3.2$ scp username@server:main.php main.php
main.php                                                                   100%   29KB  28.9KB/s   00:01

どんな助けでも感謝します.. 前もって感謝します、

シモンズ:Windows XP SP2を使用する

回答:


14

Cygwinを使っているのなら scp、あなたはCygwinのパスを使ってみるかもしれません:

scp user@host:main.php /cygdrive/c/main.php

また使用することができます pscp そして psftp に含まれるコマンド パテ パッケージ - ネイティブのWin32プログラムであり、Windowsのパスについて文句を言うことはありません。

あるいは WinSCP 良いSCP / SFTPクライアントです(主にGUIですが、コマンドラインツールも付属しています)。


実際には/ cygdrive / cです。
Adam Rosenfield

お勧めのGUIをありがとう。 WinSCPでは、使用するエディタを変更することができ、emacsclientwと連携して動作することに注意してください。
Giles Roberts

1
@grawity実際にはあなたは前に正しかった。それは /cygdrive/c デフォルトで、しかし多くのcygwinユーザーが走っています mount --change-cygdrive-prefix / そうです /c 代わりに( /d など)入力がはるかに簡単なので。
DavidPostill

2

PSCP.exeを使用する

あなたが抱えている問題はあなたがあなたがすることができないシェルからあなたのwindows xpドライブを参照しているからです。あなたはあなたのwindows xp boxがsshサーバを走らせていない限りあなたがマシンにリモートでログオンしているのであなたが目的地の場所にloginとpw infoを使うであろう、あなたはそれをすることができないでしょう。

pscp.exe(無料)を使えば、あなたがやりたいことができます。


0

@不潔は正しいです。将来的には、あなたも実行することができます

pwd

cygwinによれば、自分がどのディレクトリにいるのかを調べて、欲しいディレクトリへの正しいパスを見つけることができます。


0

私は同様の問題を抱えていて成功しました:

scp username @ server:main.php / c / main.php

これは他の人々によって言及されているようなものです。


3
実際には、これは正確には何ではありません superuser.com/a/291841/53590 議論しますか?さらに後者が正しい形式であると指摘された後に/ c /から/ cygdrive / c /に編集されています。
a CVn

0

related:パスの中でローカル変数を使う必要があり、使っているのがわかりました cygpath とても役に立ちました。

例えば

scp $MY_FILE ubuntu@192.128.23.23

になる:

scp `cygpath $MY_FILE ` ubuntu@192.128.23.23 

皮肉なことに、ちょうど: echo $MY_FILE ひとりでcygwinパスを指定していましたが、scpコマンドで使用されていましたが、どうやらそうではなく、同じエラーを吐き出しました。 ssh:ホスト名Cを解決できませんでした:ホスト名または指定されたservname、または不明

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.