私はこのトピックをレビューしました: sftpコマンドの使用中にそのようなファイルまたはディレクトリエラーメッセージを修正する方法 および他のいくつか、しかし、何もこれを解決する助けにはなりませんでした。
簡単に言えば、ローカルマシンのデスクトップディレクトリにあるblankfile.txt
という名前のファイルを、LAMPサーバーのリモートディレクトリに移動しようとしています。
私はもう試した:
put Desktop/blankfile.txt
put blankfile.txt 192.168.x.x:/home/user/Desktop/
put /home/user/Desktop/blankfile.txt
(リモート作業ディレクトリから入力中)
何が間違っていますか?
私の推測では、正しいローカルパスにいないため、ローカルマシンの現在のディレクトリの場所を見つけるには、lpwd
を使用します。
間違ったパスにいる場合は、lcd
を使用して正しいパスに移動します。例:
lcd ~/Desktop
すべてのファイルが適切に使用されていることを確認してください:lls
を使用して、ローカルファイルのリストを取得します。またはこのようなものでさえ:
lls blankfile.txt
そこにあることを確認します。 put
を使用して、リモートマシンへのアップロードを開始できます。
put blankfile.txt
アクセス許可エラーが発生した場合は、pwd
コマンドを使用して、リモートマシンの現在位置を確認してください。
/var
のようなパスにいて、通常のユーザーでsftp
を実行した場合、そこにファイルをアップロードできないことは明らかです。この場合、次のようなエラーが表示されます。
remote open("/root/blankfile.txt"): Permission denied
cd
コマンドを使用して、書き込みが許可されているディレクトリに変更し、put
コマンドを使用します。
発生する可能性がある他のアクセス許可の問題は、ローカルファイルのアクセス許可です。
Couldn't open local file "blankfile.txt" for reading: Permission denied
lls -l blankfile.txt
を使用してローカルファイルのアクセス許可を確認し、ローカルマシンの現在のユーザーがそのファイルを読み取る権利を持っていることを確認します。