scpを使用してファイルを転送:許可が拒否されました


23

私はssh自分のコンピューターにリモートコンピューターからファイルを転送しようとしています:

scp My_file.txt user_id@server:/Home

これで、My_file.txtが自分のコンピューターのホームフォルダーに配置されるはずです。私は得る

scp / Home:許可が拒否されました

また、試してみると:...@server:/Desktop、リモートコンピューターからデスクトップにファイルをコピーするため。

何が間違っていますか?


1
ファイルを「user_id」のホームフォルダーscp My_file.txt user_id@server:にコピーする場合は、ユーザーのホームフォルダーにコピーします。
マヌラワイディアナータ

回答:


36

コマンドは、新しいドキュメントをマシンのルート/)に配置しようとしています。あなたがしたいのは、あなたのホームディレクトリにそれらを転送することです(あなたには書き込み権限がないため/)。自宅へのパスが/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/

-試してみました:「ホーム」の「〜/」、および「〜/デスクトップ/。両方ともMy_file.txt 100%0 0.0 KB / s 00:00になり、ファイルが表示されません。フォルダ私はまだ間違ってやっているおかげでたくさん。?!
エレズ

2番目のコマンドの例では~、リモートホストで評価されるように、評価から保護する必要があります\~
ダン

1
感謝するために、私はウェブサイトに登録しました。ありがとうございます。私の日を救ってくれました:)
Ad Infinitum

6

同じエラーが発生したため、「scpを使用したファイルの転送:許可が拒否されました」のためにここに来ました。

私の場合、scpでダウンロードしたファイルは、rootが所有するファイルを上書きしていたので、私はrootでした。つまり、上書きされるファイルの所有権を確認します。


1
彼はへの書き込みをしようとしているので、この場合には、それはだ/Homeとルートされていない、彼は書き込みアクセスの外を持っていない~/
Shadur

あなたは私を助けてくれます。
longdeqidao

4

これは許可の問題のようです

ファイルはソースアカウントとして宛先サーバーに配信されるため、読み取り権限がない場合があります。

ソースのファイルに必要な権限、特に読み取り権限があることを確認する必要があります

-rw-r--r--

chmod 744

次に、ファイルを宛先にコピーします。これは解決されます


3
-rw-r--r--744ではなく644です。実際に実行可能ではないファイルに実行許可を設定すると、問題が発生する可能性があります。
G-Manが「Reinstate Monica」と言う

3

どのような固定、リモートサーバー上で、ルートにフォルダの所有権を変更して私のために、「許可することは拒否されました」:(root以外のユーザーにファイルを送信すると、ディレクトリがルートによって所有されている場合に発生することがあります!) でリモートマシン(コピー先):

sudo chown (your username) (remote folder)

また、確認のために、リモートフォルダーのすべてのアクセス許可を有効にします(常に必要なわけではありません):

sudo chmod 777 (remote folder)

1

あなたはscp逆に引数を持っています。最初にソース、次に宛先のようになりcpます。 man scp詳細については。


1

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

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

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

これも機能します:

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

0

www.mremoteng.org/からWindowsツール「mRemoteG」をインストールします

目的のボックスへのSSH接続を作成します。

[ファイルの転送]メニューをクリックします。

WindowsからLinuxにファイルを簡単に転送できます。

ありがとう。


0

Amazon Linux AMI

現在の場合、自宅から絶対サーバーパスを設定する必要があることを確認してください。

scp file.txt SSH-ALIAS:/home/YOUR_USER/

0

scpの両側に同じ権限が適用されます。ユーザーに宛先への書き込み権限がない場合、このエラーが発生します。症状はソースに関係しているように見えますが、私の場合、宛先はrootによって作成され、目的のユーザーアカウントに対する書き込み権限がありませんでした。


0

私の場合、-Rを使用してフォルダーにすべてのアクセス許可を付与しようとしましたが、それでもアクセス許可に関するエラーが発生しました。

ターゲットサーバーとフォルダーのパスの前に「/」を削除する必要がありました。その理由は、ダウンロードがサーバーにsshした後にリストできる最初のフォルダーであるためです。たとえば、ssh tiennsloit@13.76.91.2

これは動作します:

sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip tiennsloit@13.76.91.2:Downloads

これは機能していませんでした:

sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip tiennsloit@13.76.91.2:/ Downloads


0

簡単な修正。あなたがrootであることを確認してください。SCPをリモートに送信すると、そのマシンのルートパスワードが要求されます。この問題が解決策でした。それらをルート化します。


通常、rootログインはsshd_configで無効になっているため、これを変更する方法をOPに示す必要があります(推奨されません)。
ajgringo619

なぜルートを使用して(任意の)ファイルをコピーすることを主張するのですか?〜7年前に受け入れられた回答にも注目してください...
Jeff Schaller

-3

scpコマンドを使用する前に、必ず外部の全員に読み取り、書き込み、実行の許可を与えてください。「chmod 777 file_name」


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