Scpコマンドを使用して、リモートホストからローカルマシンのデスクトップ(/ Users/username/Desktop)にファイル(/home4/user/public_html/website.com/folder_1/folder_2/file_to_copy.Zip)をコピーしようとしています。
これを行うには、MacでiTermを実行し、次のコマンドを使用します。
scp -r [email protected]:/home4/user/public_html/website.com/folder_1/folder_2/file_to_copy.Zip /Users/username/Desktop/
(このコマンドを実行しようとしたときに、リモートホストにssh経由でログインしていることにも注意してください。)
コマンドを実行すると、[email protected]
のパスワードを入力するように求められ(それを行います)、次のエラーメッセージが表示されます。
/ Users/username/Desktop:そのようなファイルやディレクトリはありません
同様に、scpを使用してファイルをリモートホストにコピーできませんでした。
この問題に関するヘルプは高く評価されています。コマンドラインとsshの使用にまったく慣れていないので、簡単で完全な説明が得られることを願っています。
scp
では、コピーを作成するためにリモートコンピューターにSSHで接続する必要はありません(これが現在、コマンドで問題が発生している場所です)。
scpは基本的にプッシュまたはプル方式で機能します。ローカルPCからリモートにファイル/フォルダーをプッシュできます。このメソッドのコマンド構文は次のとおりです。
scp /folderpath/tofile/file.txt user@remotehost:/folderpath/tocopyfileto/
user
でremotehost
のパスワードを要求するプロンプトが表示されます。
リモートPCからローカルPCにファイル/フォルダーをプルすることもできます。このメソッドのコマンド構文は次のとおりです。
scp user@remotehost:/folderpath/tofile/file.txt /folderpath/tolocalfolder/
user
のremotehost
へのパスワードも要求されます。
上記のコマンドで実行していた問題は、リモートホストからファイルを取得するためにscpコマンドのデータプル構文を使用していたことですが、実行中にそのリモートホストにSSH接続されていました。
このコマンドを実行する正しい方法は、ローカルマシンから実行することです
scp -P 2222 [email protected]:/home4/user/public_html/website.com/folder_1/folder_2/file_to_copy.Zip /Users/username/Desktop/
**元のコマンドから余分な-r
を削除したことに注意してください。これはエラーをスローするものではありませんが、あなたのケースでは必要ないというだけです。 scp
の-r
オプションは、フォルダーとそのすべての内容を再帰的にコピーするときに使用されます。あなたの場合、あなたは単にファイルをコピーしていたので、それは必要ではありませんでした。
** -P 2222
も追加しました。これは、標準のポート22の代わりにポート2222を使用する必要があるとのその後のコメントからです。