web-dev-qa-db-ja.com

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

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

scp My_file.txt user_id@server:/Home

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

scp/Home:権限が拒否されました

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

何が悪いのですか?

29
Erez

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

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

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

8
PJ Brunet

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

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

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

-rw-r--r--

chmod 744

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

4
Tabbu

私が「アクセスが拒否されました」を修正したのは、リモートサーバーで、フォルダーの所有権をrootに変更することです(これは、非rootユーザーにファイルを送信していて、ディレクトリーがrootによって所有されている場合に発生する可能性があります)。 リモートマシン(コピー先):

Sudo chown (your username) (remote folder)

また、確実にするために、リモートフォルダーのすべての権限を有効にします(必ずしも必要ではありません)。

Sudo chmod 777 (remote folder)
3
Stan Tatarnykov

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

1
ckhan

Permissionsion Deniedは、あなたがサーバーのルートではないことを意味します。そこに口座を持っているだけです。したがって、その場合は次のようにする必要があります。

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

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

これも機能します:

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

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

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

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

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

ありがとう。

0

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

ターゲットサーバーとフォルダーのパスの前にある「/」を削除する必要がありました。その理由は、サーバーにsshした後、Downloadsが一覧表示できる最初のフォルダーであるためです。例:ssh [email protected]

これは機能します:

Sudo scp -rp /Users/Macintosh.vn/Downloads/bbhs_20190301.Zip [email protected]:ダウンロード

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

Sudo scp -rp /Users/Macintosh.vn/Downloads/bbhs_20190301.Zip [email protected]:/ Downloads

0
tiennsloit

Amazon Linux AMI

現在のケースではhomeからの絶対サーバーパスを設定する必要があることを確認してください:

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

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

0
jinzai

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

0
Richard Evans