2 台のリモートコンピュータ間で scp コマンドを使用したときの権限拒否エラー

2 台のリモートコンピュータ間で scp コマンドを使用したときの権限拒否エラー

ローカルネットワークに3台のコンピュータがあります。これらはすべて

Machine1 : 192.168.1.1 (root user: user1)
Machine2 : 192.168.1.2 (root user: user2) 
Machine3 : 192.168.1.3 (root user: user3)

私はMachine1で働いています。他のマシン(2と3)は私のリモートマシンです。 Machine1のsshコマンドを使用してリモートシステムにアクセスします。ネットワークSSH接続以外は、Machine2とMachine3に直接アクセスできません。

Machine2の/usr/local/libパスにあるいくつかのファイルをMachine3の/usr/local/libパスにコピーしたいと思います。

これを行うには、ホストMachine1で次のコマンドを使用します。

scp [email protected]:/usr/local/lib/my_file [email protected]:/usr/local/lib/my_file

エラーが発生します。

権限が拒否されました。もう一度お試しください。

権限が拒否されました。もう一度お試しください。

権限が拒否されました(公開鍵、パスワード)。

このエラーが発生した後、別の方法を使用しました。私のホストMachine1からSSH接続を介してMachine2に接続します。 SSHからMachine2に接続するには、次のコマンドを使用しました。

scp /usr/local/lib/my_file [email protected]:/usr/local/lib/my_file

エラーが発生します。

scp:/usr/local/lib/my_file: 権限が拒否されました。

SSH経由で接続されたMachine3で次のコマンドを使用しました。

scp [email protected]:/usr/local/lib/my_file /usr/local/lib/my_file

同じエラーが発生しました。

scp:/usr/local/lib/my_file: 権限が拒否されました。

/usr/local/libパスにあるいくつかのファイルをコピーする3つの異なる方法を試しました。ただし、複製を達成することはできません。
2つのリモートコンピュータ間で/ usrディレクトリにあるファイルをどのようにコピーしますか?

ベストアンサー1

エラーが発生する理由は、通常のユーザーがコピーしたいファイルを読み、書き込み、実行するための正しい権限が設定されていないためだと思います。

/root/FileByRoot と /home/admin/FileByAdmin という 2 つのファイルを作成しました。

$ ll /root/FileByRoot
-rw-r--r-- 1 root root 13 Oct 10 00:43 /root/FileByRoot

$ ll /home/admin/FileByAdmin
-rw-rw-r-- 1 admin admin 19 Oct 10 00:43 /home/admin/FileByAdmin

これは、管理者ユーザーを使用して別のコンピューターにコピーしようとしたときに表示される結果です。

$ scp -P 2220 [email protected]:/root/FileByRoot /home/heysus/
[email protected]'s password:
scp: /root/FileByRoot: Permission denied

$ scp -P 2220 [email protected]:/home/admin/FileByAdmin /home/heysus/
[email protected]'s password:
FileByAdmin                                                                           100%   19     0.5KB/s   00:00

$ ll /home/heysus/FileByAdmin
-rw-rw-r-- 1 heysus heysus 19 Oct 10 00:56 /home/heysus/FileByAdmin

では、管理者がすべての権限を持つディレクトリにファイルを移動してみましょう。

$ mv FileByRoot /home/admin/FileByRoot

管理者はフォルダに対する権限を持っているので、コピーできます。

$ scp -P 2220 [email protected]:/home/admin/FileByRoot /home/heysus/
[email protected]'s password:
FileByRoot                                                                            
100%   13     0.3KB/s   00:00

要約すると、/etc/ssh/sshd_configファイルでrootユーザーを有効にし、rootユーザーを介して必要なファイルをコピーします。完了したら、/etc/ssh/sshd_config で root ログインを無効にします。

おすすめ記事