スクリプトファイルを他のマシンのルートに配置したい。これが私のターミナルコマンドです
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
。
ソース マシンでキーを生成するには、ウィザードに従います。
ssh-keygen -t rsa
.ssh/id_rsa.pub
上記のコマンドは、公開キーと秘密キーのペアを含むを作成します。コンテンツを宛先マシンに.ssh/id_rsa
コピーする必要があります。 ディレクトリとファイルが存在しない場合は作成し、 authorized_keys の所有権が であることを確認します。.ssh/id_rsa.pub
/root/.ssh/authorized_keys
600
ここで 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
- テストファイルを作成します。
- ファイルを一時ディレクトリにコピーします。
- ファイルをルートディレクトリに移動します。
- ファイルがルート ディレクトリにあることをテストします。