次のコマンドを使用してサービスを再起動します。
ssh username@server "systemctl restart storeapp.service"
ただし、次のエラーメッセージが表示されます。
Failed to stop storeapp.service: Interactive authentication required.
それから試しました。
ssh -t username@server "systemctl restart storeapp.service"
正しいユーザー名で認証せずにusername@server
他のユーザーをスキップするため、失敗します。 Authenticating as : otheruser
。 SSHキーを設定しました。どうすればこの問題を克服できますか?それともシステム管理者権限の問題ですか?
実行すると、ssh username@server "systemctl status storeapp.service"
サービスの状態を確認できます。
ベストアンサー1
まあ、最も単純なこの問題に対する解決策は、以下を追加することです。
<username> ALL = NOPASSWD: /bin/systemctl restart storeapp.service
のファイルの場合は、/etc/sudoers.d
次のようになります。/etc/sudoers.d/storeapp
ターゲットサーバーにあります。
sudo systemctl restart storeapp.service
これにより、パスワードを入力しなくてもコマンドを実行できます。
実際の例の使い方ufw
ターゲットホスト(Ubuntu 18.04):
sudo cat /etc/sudoers.d/ufw
maulinglawns ALL = NOPASSWD: /bin/systemctl restart ufw
サーバーから:
ssh -t maulinglawns@<remote> 'sudo /bin/systemctl restart ufw'
maulinglawns@<remote>'s password:
Connection to <remote> closed.
echo $?
0
上記のようにメッセージが表示されます。一度(キーを使用しないため)コマンドでは機能しませんsudo
。終了ステータスは、ufw
パスワードなしで正常に再起動したことを示します。を確認して確認することもできます/var/log/syslog
。
明らかに、これは次の場合にのみ機能します。ㅏ) root
ターゲットサーバーにアクセスします。そうでなければ雨)これが可能か許容可能かについては、システム管理者に連絡してください。もし氏)visudo
sudoerファイルを編集/作成するときは常に使用してください。
実行すると、
ssh username@server "systemctl status storeapp.service"
サービスの状態を確認できます。
はい、status
必ずしも高い電力を必要とするわけではありません。