suコマンド中に呼び出されたときにパスワードを隠す方法は?

suコマンド中に呼び出されたときにパスワードを隠す方法は?

suコマンドを使用したのは今回が初めてで、実際には端末にパスワードが表示され、隠されていません。私のコードスニペットは次のとおりです。

 sshpass -p "password" ssh -q [email protected] "su -lc 'mkdir temp/'"

コード説明:リモートサーバーにアクセスし、そのサーバーにrootとしてフォルダを作成しようとしています。これを行うには、パスワードを要求するsuコマンドを使用する必要があります。パスワードを入力すると、隠されずに表示されます。この問題をどのように解決できますか?

ベストアンサー1

普段はお願いします避けるsshpassとパスワードを使用してください。
他のユーザーは、psコマンドを使用して作成したすべての内容を観察できます。しなければならないあなたを心配しています。
ここで2番目の質問です。指定した内容が表示されません。-ティーオプション。これはあなたが持っていることを意味します障害のある

Defaults    requiretty

これにより、/ etc / sudoersにセキュリティ上の問題が発生する可能性があります。

それでもsshkeypassに問題がある場合は、以下を試してください。

sshpass -p "password" ssh -qt [email protected] "su -lc 'mkdir temp/'"

生成されたSSHキーを簡単に設定して操作を実行してから削除できます。

ssh-keygen -t rsa

画面の指示に従い、

ssh-copy-id user@server1

またはこれを行うこともできます:

cat ~/.ssh/id_rsa.pub | ssh user@server1 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

おすすめ記事