sshを介したscpコピーが機能しません-許可拒否エラーが発生しましたか?


83

それは私を夢中にさせています!単純なファイルをラップトップからサーバーに転送したいだけです。

私は両方のマシンでubuntuを使用しています。

ので、私は持っています:

-rwxr-xr-x 1 sandro    414622 2011-10-14 23:42 sandrophoto-html.tar.gz

そして、私はそれを使用して送信しています:

sudo scp -P XXXX sandrophoto-html.tar.gz usern@server.local:/media/xx/xx/xx

そして私は得る: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied

ps私はこれを別の方法でやっている可能性があります-私はデスクトップにあるファイルtar.gzをリモートサーバーに/ media / yadaydaフォルダーに送信したいです


2
私の場合、受信側のセキュリティ上の理由で、リモートユーザーがファイルを書き込めるようにディレクトリをchmodしなければなりませんでした(i chmod 777ディレクトリ-しかし内部ラボです)
-ilansch

回答:


95

あなたは私が理解しているものから正しい順序で物事を持っています、scpが行われる一般的な方法は次のとおりです:

scp sourceuser@sourcehost:/path/to/source/file destinationuser@destinationhost:/path/to/destination/

質問から判断すると、宛先サーバーに送信するローカルファイルがあります。だから、あなたは良い構文を持っています!

許可が拒否されている場合は、正しいユーザー名を使用していないか、認証に誤りがあります。ほとんどの場合、これはsudoコマンドがローカルでのみ動作するためです。したがって、リモートボックスのルートが得られないため、おそらく問題です。リモートサーバーでログインしているユーザーに、書き込み先の場所への書き込み権限があることを確認してください。

問題がsudoなしでdestinationuserがその場所にアクセスできない場合、ファイルをdestinationuserのホームフォルダーに移動し、他のサーバーのシェルからファイルをsudo mvして正しい場所に配置します。


9
ありがとう、宛先ディレクトリに書き込み権限を追加する必要がありました
-PiKey

@PiKeyこれは答えです
Code-Guru

39

こんにちは、これと同じ許可エラーの問題がこのように解決しました

コピー先のディレクトリが192.168.0.4ユーザーusernameによって所有されていることを確認してください

chown username downloads

あなたのローカルマシンで

sudo scp filename.zip username@192.168.0.4:/etc/Myfiles/downloads

乾杯


THX、私が使用していたここでは特に、パーミッションたchmodリモートサーバーで保存先のフォルダに
水瓶座パワー

26

Permisssion Deniedは、サーバーのルートではないことを意味します。そこにアカウントを持っているだけです。その場合、これを行う必要があります:

sudo scp -r /path2yourFolder/ username@server_Ip:/home/username

これにより、サーバー上のホームディレクトリにコピーされます。

これも機能します:

scp -r /path2yourFolder/ username@server_Ip:~/

2
命の恩人!:〜/私のためにやった。
trdavidson

~/確かに、-rディレクトリ全体を再帰的にコピーするための方法です。
ノーム・マノス

9

このエラーは、ファイルがターゲットの場所に既に存在し、既存のファイルに読み取り専用のアクセス許可がある場合に発生しました(ファイルの上書きを防止します)。私の場合、ログインして既存のファイルを削除しただけで、問題は修正されました。


7

私は同様の問題を抱えていました。それは、ポートを指定するのに時間がかかり、ポートを指定するsshのに時間がかかる-p xxxxために起こりました。軽微な矛盾、見逃しやすい:(scp-P xxxx


あなたを称賛。私はこれをより見やすくするためにGoogleの可能なキーワードのカップルを追加した場合、私を気にしないでくださいscp doesn't work Permission denied (publickey). lost connection for ec2 compute.amazonaws.com
user1717828

0

同じ問題がありました。ソースファイルを含むディレクトリに十分な権限がないことがわかりました。したがってchmod -R 771 directory_path、ソースマシン上で再帰的にモードを変更しました。


0

私はローカルマシンからコピーしようとしていたusername@localhost; 使用していたSSHキーがローカルホストにアクセスするために登録されていなかったため、許可が拒否されました。ソース部分からそれを削除すると、機能しました。

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