リモートコンピュータを使用してssh
自分のコンピュータにファイルを転送しようとしています。
scp My_file.txt user_id@server:/Home
これにより、マイコンピュータのホームフォルダにMy_file.txtが保存されます。そうですか?わかりました。
scp/Home: 権限が拒否されました
また、しようとするとき:...@server:/Desktop
リモート コンピューターから自分のデスクトップにファイルをコピーします。
私は何が間違っていましたか?
答え1
コマンドは新しい文書を根/
()を選択してください。あなたが望むのはそれをあなたのコンピュータに転送することです。家ディレクトリ(書き込み権限がないため/
)。家に帰るルートが似ているようであれば、/home/erez
次のことを試してください。
scp My_file.txt user_id@server:/home/erez/
ホームディレクトリのパスをショートカットに置き換えることができるため、~/
次のコマンドは同じ効果があります。
scp My_file.txt user_id@server:~/
リモート側のパスを完全に省略することもできます。これはホームディレクトリを意味します。
scp My_file.txt user_id@server:
つまり、ファイルをデスクトップにコピーするには、そのファイルを次に転送する必要があるかもしれません/home/erez/Desktop/
。
scp My_file.txt user_id@server:/home/erez/Desktop/
またはショートカットを使用してください。
scp My_file.txt user_id@server:~/Desktop/
または、ホームディレクトリに基づいて解釈されるリモート側の相対パスを使用します。
scp My_file.txt user_id@server:Desktop/
@ckhanがすでに述べたように、パラメータも交換する必要があります。
scp FROM TO
My_file.txt
したがって、サーバーからデスクトップにファイルをコピーするには、user_id@server
次のことを試みる必要があります。
scp user_id@server:/path/to/My_file.txt ~/Desktop/
ファイルがMy_file.txt
サーバーのホームディレクトリにある場合は、ショートカットを再利用できます。
scp user_id@server:~/My_file.txt ~/Desktop/
答え2
私にとって「権限の拒否」の問題を解決したのは、リモートサーバー上のフォルダの所有権をrootに変更することでした。 (これはrootではなくユーザーにファイルを送信すると発生する可能性があり、ディレクトリはrootが所有しています。この状況!) リモートコンピュータ(コピー先)から:
sudo chown (your username) (remote folder)
また、リモートフォルダに対するフルアクセス権が有効になっていることを確認してください(必ずしも必要ではありません)。
sudo chmod 777 (remote folder)
答え3
同じエラーが発生したため、「scpを使用したファイル転送:権限が拒否されました」のためにここに来ました。
私の場合、scpを使用してダウンロードしたファイルはrootが所有しているファイルを上書きしましたが、私はrootではありません。つまり、上書きされたファイルの所有権を確認してください。
答え4
許可拒否とは、サーバーのルートではないことを意味します。そこにアカウントが必要です。したがって、この場合は、次のことを行う必要があります。
sudo scp -r /path2yourFolder/ username@server_Ip:/home/username
これはサーバーのホームディレクトリにコピーされます。
これはまた働きます:
scp -r /path2yourFolder/ username@server_Ip:~/