パスワードを入力せずにsudoを使用してsshを介してリモートスクリプトを実行する方法

パスワードを入力せずにsudoを使用してsshを介してリモートスクリプトを実行する方法

私のスクリプトはパスワードを使用してsshに接続したいと思っています。接続したらコマンドに切り替えてsudo -s実行します。mkdir

現在、パスワードを入力せずにSSHに接続できますが、ユーザースイッチを介してフォルダを作成することはできません。

良い:

root@computer:/home/user/test# sshpass -p 'password' ssh [email protected]  mkdir /var/volatile/flash-upgrade

mkdir: can't create directory '/var/volatile/flash-upgrade': Permission denied

rootユーザーだけがフォルダを作成できます。

答え1

たとえば、192.168.2.250のユーザーは正しいユーザーに接続できるadmin必要があります。あるいは、システムユーザーにrootアクセスを許可するようにsshを設定することもできます。sudossh sudo idssh [email protected]

ホームネットワークのみを使用する場合は、会社の環境ではどちらも問題がなく、セキュリティへの影響を考慮する必要があります。

答え2

タグ付きSSH公開鍵認証を使用してルートアクセスのみを許可できます。 /etc/ssh/sshd_config では、set PermitRootLogin forced-command-only Force-command は /root/.ssh/authorized_keys の公開鍵にタグを付けるコマンドです。たとえば、 command="script_you_have_strictly_controlled" id-rsa <public key here> 次のようにElevateできます。承認され事前定義された操作のみを実行するように制御

関連情報