5

コマンドを使用して Ubuntu クライアント ノードをブートストラップするためのコマンドを含む bash スクリプトを作成しようとしていますknife。スクリプトを実行すると、knifeコマンドはクライアント ノードの sudo パスワードを要求し、パスワードを入力すると期待どおりに動作します。しかし、パスワードを要求せずに自動化された方法を探しています。ブートストラップに使用したコマンドは次のとおりです。

knife bootstrap <IP_ADDRESS> -x <USER_NAME> -P <PASSWORD> --sudo 

確認した後、ナイフ ブートストラップ ドキュメント、以下のように ssh-password を指定しようとしましたが、同じ結果になりました。

knife bootstrap <IP_ADDRESS> --ssh-user <USER_NAME> --ssh-password <PASSWORD> --sudo

このコマンドの問題点。knife コマンドがクライアントとブートストラップに自動的にログインすることを期待していますが、次のように求めています。

<IP_ADDRESS> knife sudo password:
 Enter your password:

何か案は??

4

7 に答える 7

3

これが私がこの作品を作った方法です。

echo <SSH_PASSWORD> | knife bootstrap <IP_ADDRESS> -x <USER_NAME> -P <PASSWORD> --sudo
于 2014-07-01T10:45:36.980 に答える
0

/etc/sudoersファイルの NOPASSWD オプションを確認してください。これにより、sudo がパスワード チェックを抑制するように構成されます。

于 2013-08-27T00:00:27.563 に答える
0

次の 2 種類の認証が行われます。

  1. SSH 接続 (キー経由またはパスワード経由の場合があります)
  2. sudo認証 (通常、パスワードが必要です) 。

初めてマシンをブートストラップするとき、sudo パスワードが必要になることは避けられないと思います。

knifeSSH 接続を介して sudo パスワードを渡すことができる Ruby コードを見たことがあります (したがって、ユーザーはコマンドの途中でパスワードを入力する必要がありません) が、それが組み込まれているとは思いません。

于 2013-11-07T04:35:39.633 に答える
0

コマンドにタイプミスがあります

そのはず--ssh-password

あなたが持っているものは--sh-password

于 2013-08-26T06:19:05.040 に答える