スクリプト ファイルを他のマシンのルートに配置する方法

スクリプト ファイルを他のマシンのルートに配置する方法

スクリプトファイルを他のマシンのルートに配置したい。これが私のターミナルコマンドです

scp /var/www/html/script.sh [email protected]:script.sh

ルートパスワードを要求されます。正しいルートパスワードを入力しましたが、

Permission denied, please try again.

誰か助けてくれませんか?

答え1

/etc/ssh/sshd_configデフォルトでは、openssh はすべての root ログイン試行を拒否します。ただし、サーバー側で変更することでこれを許可できます。

この行が yes に設定され、no がコメントアウトされていることを確認します。

PermitRootLogin yes

そして、sshd をリロードします。

ただし、上記の設定はセキュリティ上良い方法ではありません。代わりに、公開キー ログインを使用してください。

設定行は次のようになります:

PermitRootLogin without-password

  1. ソース マシンでキーを生成するには、ウィザードに従います。
    ssh-keygen -t rsa

  2. .ssh/id_rsa.pub上記のコマンドは、公開キーと秘密キーのペアを含むを作成します。コンテンツを宛先マシンに.ssh/id_rsaコピーする必要があります。 ディレクトリとファイルが存在しない場合は作成し、 authorized_keys の所有権が であることを確認します。.ssh/id_rsa.pub/root/.ssh/authorized_keys600

  3. ここで scp を試行すると、手順 1 で入力したパスワードの入力を求められます。

答え2

パスワードなしの sudo アクセスを持っていると仮定すると、以下が機能するはずです。

$ echo "My test file" > test 
$ scp test [email protected]:/tmp/
test
$ ssh [email protected] "sudo mv /tmp/test /"
$ ssh [email protected] "cat /test"
My test file
  1. テストファイルを作成します。
  2. ファイルを一時ディレクトリにコピーします。
  3. ファイルをルートディレクトリに移動します。
  4. ファイルがルート ディレクトリにあることをテストします。

関連情報