suコマンドを使用したのは今回が初めてで、実際には端末にパスワードが表示され、隠されていません。私のコードスニペットは次のとおりです。
sshpass -p "password" ssh -q [email protected] "su -lc 'mkdir temp/'"
コード説明:リモートサーバーにアクセスし、そのサーバーにrootとしてフォルダを作成しようとしています。これを行うには、パスワードを要求するsuコマンドを使用する必要があります。パスワードを入力すると、隠されずに表示されます。
答え1
私はあなたが使うべきだと思いますsudo
。
sshpass -p "password" ssh -q [email protected] "sudo mkdir temp/"
sudoを使用すると、パスワードなしでmkdirを実行することもできます。実行visudo
し、次の行を追加します
your_username ALL=(ALL)NOPASSWD:/usr/bin/mkdir
。お客様のアカウントが破損した場合、セキュリティ上のリスクが発生する可能性があります。
また、このコマンドのユースケースに適している場合は、SSHの公開鍵認証を設定できます。その後、 'sshpass'を削除し、単に 。ssh -q [email protected] "sudo mkdir temp/"