ssh
を使用してリモートコンピューターから自分のコンピューターにファイルを転送しようとしています。
scp My_file.txt user_id@server:/Home
これにより、My_file.txtが自分のコンピューターのホームフォルダーに配置されます。私は得る
scp/Home:権限が拒否されました
また、私が試したとき:...@server:/Desktop
、リモートコンピュータからデスクトップにファイルをコピーするため。
何が悪いのですか?
コマンドは、新しいドキュメントをマシンの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/
同じエラーが発生したため、「scpを使用したファイルの転送:権限が拒否されました」のためにここに来ました。
私の場合、scpでダウンロードしたファイルはrootが所有するファイルを上書きしてしまい、私はrootではありませんでした。つまり、上書きされるファイルの所有権を確認します。
これは許可の問題のようです
ファイルはソースアカウントとして宛先サーバーに配信されるため、ファイルに読み取り権限がない可能性があります。
ソースのファイルに必要な権限、特に読み取り権限があることを確認する必要があります
-rw-r--r--
chmod 744
次に、ファイルを宛先にscpします。これは解決されます
私が「アクセスが拒否されました」を修正したのは、リモートサーバーで、フォルダーの所有権をrootに変更することです(これは、非rootユーザーにファイルを送信していて、ディレクトリーがrootによって所有されている場合に発生する可能性があります)。 リモートマシン(コピー先):
Sudo chown (your username) (remote folder)
また、確実にするために、リモートフォルダーのすべての権限を有効にします(必ずしも必要ではありません)。
Sudo chmod 777 (remote folder)
scp
の引数が逆になっています。 cp
のように、最初にソース、次に宛先です。 man scp
詳細については。
Permissionsion Deniedは、あなたがサーバーのルートではないことを意味します。そこに口座を持っているだけです。したがって、その場合は次のようにする必要があります。
Sudo scp -r /path2yourFolder/ username@server_Ip:/home/username
これにより、サーバー上のホームディレクトリにコピーされます。
これも機能します:
scp -r /path2yourFolder/ username@server_Ip:~/
Www.mremoteng.org/からWindowsツール「mRemoteG」をインストールします
目的のボックスへのSSH接続を作成します。
「ファイルの転送」メニューをクリックします。
WindowsからLinuxにファイルを簡単に転送できます。
ありがとう。
私の場合、-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
現在のケースではhomeからの絶対サーバーパスを設定する必要があることを確認してください:
scp file.txt SSH-ALIAS:/home/YOUR_USER/
同じ権限がscpの両側に適用されます。ユーザーが宛先に書き込む権限を持っていない場合、このエラーが発生します。症状はソースに関係しているように見えますが、私の場合、宛先はrootによって作成され、目的のユーザーアカウントに対する書き込み権限がありませんでした。
簡単な修正。あなたがrootであることを確認してください。リモートにSCPを送信すると、そのマシンのrootパスワードを要求されます。ちょうど解決策であったこの問題がありました。あなたはそれらをルート化します。