私のスクリプトはパスワードを使用して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を設定することもできます。sudo
ssh sudo id
ssh [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できます。承認され事前定義された操作のみを実行するように制御