ssh
を使用してリモートコンピューターから自分のコンピューターにファイルを転送しようとしています:
scp My_file.txt user_id@server:/Home
これにより、My_file.txtが自分のコンピューターのホームフォルダーに配置されます。
scp / Home:アクセス許可が拒否されました
また、試してみると:...@server:/Desktop
、リモートコンピュータからデスクトップにファイルをコピーするため。
何が間違っているのですか?
コメント
回答
コマンドが新しいドキュメントを root (<マシンのdivid = "7e17f4fa56">
)。あなたがしたいのは、それらを 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/
編集:
As @すでに述べたように、引数も交換する必要があります。
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ではありませんでした。要するに、ファイルの所有権を確認してください。上書きされます。
コメント
助けてくれます。
回答
私にとって「許可が拒否されました」を修正したのは、リモートサーバーでフォルダの所有権をrootに変更することでした:(これは、root以外のユーザーにファイルを送信していて、ディレクトリがrootによって所有されている場合に発生する可能性があります! )リモートマシン上(コピー先):
sudo chown (your username) (remote folder)
また、必ず、リモートフォルダーのすべてのアクセス許可を有効にしてください:(必ずしも必要ではありません):
sudo chmod 777 (remote folder)
回答
これは許可の問題のようです
ファイルはソースアカウントとして宛先サーバーに配信されるため、読み取り権限がない可能性があります。
ソースのファイルに必要な権限、特に読み取り権限があることを確認する必要があります
-rw-r–r-
chmod 744
次に、ファイルを宛先にscpします。これは解決されます
コメント
回答
scp
が逆になりました。最初にソース、次に宛先(cp
など)。詳細については、man scp
を参照してください。
回答
Jinzaiが指摘したように、リモートフォルダはルートが所有できます。私の場合、誰か(または何か)がユーザーのホームフォルダの所有者を変更しましたルートに。そのため、ファイルをリモートサーバーに送信しようとすると、アクセス許可拒否エラーが発生しました。
ls -l
コマンドでフォルダーの所有者を確認できます。 :
drwxr-xr-x 5 root root 4096 Oct 21 08:16 user2
上記の例では、user2フォルダーはrootが所有しています。次のように所有者を変更できます。
chown user2:user2 user2
サーバーがファイルをブロックしているかどうかを確認するより高速な方法もあります。 scpかどうか。たとえば、touch test_file
を使用して、ターゲットフォルダにファイルを作成してみてください。フォルダ内にファイルを作成できなかった場合、同じユーザーがここにファイルをリモートで送信することはできません。
回答
許可が拒否されたということは、あなたがサーバーのルートではないことを意味します。そこにアカウントを持っているだけです。したがって、その場合は次のようにする必要があります。
sudo scp -r /path2yourFolder/ username@server_Ip:/home/username
これにより、サーバーのホームディレクトリにコピーされます。
これも機能します。 :
scp -r /path2yourFolder/ username@server_Ip:~/
回答
Amazon Linux AMI
現在の場合、 home からの絶対サーバーパスを設定する必要があることを確認してください:
scp file.txt SSH-ALIAS:/home/YOUR_USER/
回答
www.mremoteng.org/からWindowsツール「mRemoteG」をインストールします
目的のボックスへのSSH接続を作成します。
[ファイルの転送]メニューをクリックします。
WindowsからLinuxにファイルを簡単に転送できるようになります。
ありがとうございます。
回答
同じ権限がscpの両側に適用されます。ユーザーに宛先への書き込み権限がない場合、このエラーが発生します。症状はソースに関係しているように見えますが、私の場合、宛先はrootによって作成され、目的のユーザーアカウントへの書き込み権限がありませんでした。
回答
私の場合、-Rを使用してすべてのアクセス許可をフォルダーに付与しようとしましたが、アクセス許可に関するエラーが発生しました。
ターゲットサーバーとフォルダーのパスの前にある「/」を削除する必要がありました。その理由は、ダウンロードがサーバーにsshした後にリストできる最初のフォルダーであるためです。例: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]:/ダウンロード
回答
簡単な修正。あなたがルートであることを確認してください。リモートにSCPを送信すると、そのマシンのルートパスワードの入力を求められます。ちょうどこの問題が解決策でした。ルートログインは通常 sshd_config で無効になっているため、OPにその方法を示す必要があります。
コメント
回答
scpコマンドを使用する前に、外部のすべての人に読み取り、書き込み、実行のアクセス許可を与えるようにしてください。 “chmod 777 file_name”
コメント
use
scp My_file.txt user_id@server:
ユーザーのホームフォルダーにコピーします。