web-dev-qa-db-ja.com

ローカルからリモートマシンへのscpファイルエラー:そのようなファイルまたはディレクトリはありません

ディレクトリとそのすべてのファイルをローカルマシンからリモートマシンに転送できるようにしたい。 SCPをあまり使用しないので、少し混乱しています。

私はssh経由でリモートマシンに接続し、コマンドを入力しました

scp name127.0.0.1:local/machine/path/to/directory filename

local/machine/path/to/directoryは、ローカルホスト上の目的のディレクトリでpwdを使用して取得した値です。

現在エラーが発生しています

No such file or directory

24
Liondancer

そのコマンドを使用してローカルマシンにコピーしようとしているようです。

Scpの例は、次のコマンドに似ています。

ファイル「foobar.txt」をローカルホストからリモートホストにコピーします

$ scp foobar.txt [email protected]:/some/remote/directory

scp "the_file" your_username @ the_remote_Host:the/path/to/the/directory


ディレクトリを送信するには:

ディレクトリ「foo」をローカルホストからリモートホストのディレクトリ「bar」にコピーします

$ scp -r foo [email protected]:/some/remote/directory/bar

scp -r "the_directory_to_copy" your_username @ the_remote_Host:the/path/to/the/directory/to/copy/to


そして、リモートホストからローカルにコピーするには:

ファイル「foobar.txt」をリモートホストからローカルホストにコピーします

$ scp [email protected]:foobar.txt /your/local/directory

scp your_username @ the_remote_Host:the_file/your/local/directory


ポート番号を含めるには:

ポート8080のリモートホストからローカルホストにファイル「foobar.txt」をコピーします

$ scp -P 8080 [email protected]:foobar.txt /your/local/directory

scp -P port_number your_username @ the_remote_Host:the_file/your/local/directory


PuTTYを使用したWindowsマシンからLinuxマシンへ

pscp -r <directory_to_copy> username@remotehost:/path/to/directory/on/remote/Host

47
Craicerjack

私の場合、ポート番号を指定する必要がありました

scp -P 2222 username@hostip:/directory/ /localdirectory/
4
joelschmid

似たような問題がありました。サーバーからデスクトップにコピーしようとしましたが、ローカルパスに対して常に同じメッセージが表示されました。問題は、すでにsshごとにサーバーにログインしていたため、サーバーパスでローカルパスを検索していたことです。

解決策:ログアウトしてコマンドを再度実行する必要があり、それが機能しました

2

問題はさまざまな原因で発生する可能性があります。 Linuxで考えられる3つのシナリオを紹介します。

  • ファイルの場所

scp nameを使用すると、ファイルnameホームディレクトリ。たとえば、Homeにあるが、別のFolderにある場合、 my_folder、次のように記述します。

scp /home/my-username/my_folder/name [email protected]:/Path....
  • 許可をファイルする

ファイルのファイル許可を知っている必要があります。 読み取り専用がある場合は、変更する必要があります。

許可を変更するには:

ルートとして、Sudo caja(MATE Desktop)のデフォルトのファイルマネージャ、または another ファイルマネージャ、そしてマウスで、ファイルを右クリックname、選択Properties+PermissionsおよびGroupおよびOther読み取りと書き込み.

または chmod を使用します。

  • ポート番号

リモートマシンまたはサーバーはポート番号としか通信できないので、-Pとポート番号を記述する必要があります。

scp -P 22 /home/my-username/my_folder/name [email protected] /var/www/html
1
3edf1w

ファイルの送信元のフォルダにnotにスペースが含まれていることを確認してください!

VSコードターミナルからWindowsマシンからリモートサーバーにファイルを送信しようとしていたため、ファイルがここにあってもこのエラーが発生しました。

ファイルがその名前にスペースを含んでいたフォルダーのためです...

0
Astariul