[解決済み] pam_unix(sudo:auth): 会話に失敗、auth が [username] のパスワードを特定できなかった
質問
を使っています。
アニシブル
を使用して、Centos 7 produciton clusterをプロビジョニングしています。残念ながら、以下のコマンドを実行すると
ansible
Tiemout
と Linux Pluggable Authentication Modules (
パム
)
error conversation failed
.
同 ansible コマンドは、仮想ラボのMADから実行してもうまくいきます。 浮浪者 ボックスを使用します。
Ansibleコマンド
$ ansible master_server -m yum -a 'name=vim state=installed' -b -K -u lukas -vvvv
123.123.123.123 | FAILED! => {
"msg": "Timeout (7s) waiting for privilege escalation prompt: \u001b[?1h\u001b=\r\r"
}
SSHdログ
# /var/log/secure
Aug 26 13:36:19 master_server sudo: pam_unix(sudo:auth): conversation failed
Aug 26 13:36:19 master_server sudo: pam_unix(sudo:auth): auth could not identify password for [lukas]
解決方法は?
問題が見つかりました。それは PAMの オーサー モジュール問題!?どのように解決に至ったかを説明します。
コンテキスト
デバッグ用にマシンをセットアップした。つまり、ターミナルウィンドウを4つ開いた状態だ。
-
第1ターミナル
(ローカルマシン): ここで、私は以下を実行していました。
ansible prduction_server -m yum -a 'name=vim state=installed' -b -K -u username
-
第2ターミナル
(本番サーバ): ここで、以下を実行しました。
journalctl -f
(システム全体のログ)。 -
第3ターミナル
(本番サーバー): ここで、私は
tail -f /var/log/secure
(sshdのログ)。 -
第4ターミナル
(本番サーバー): ここで、私は編集していました。
vi /etc/pam.d/sudo
ファイルを作成します。
からコマンドを実行するたびに 第1ターミナル こんなエラーが出ました。
# ansible error - on local machine
Timeout (7s) waiting for privilege escalation prompt error.
# sshd error - on remote machine
pam_unix(sudo:auth): conversation failed
pam_unix(sudo:auth): [username]
同僚に設定を全部見せたところ、このエラーは
"PAM"。
. 正直なところ、私は、そのようなことを初めて知りました。
PAM
. だから、私はこれを読まなければならなかった
PAMチュートリアル
.
私は、このエラーは
認証
インターフェースは
/etc/pam.d/sudo
モジュールを使用します。インターネットで調べてみると、次のようなものが見つかりました。
pam_permit.so
モジュールに
sufficient
フラグを設定することで、私の問題は解決しました。
解決方法
基本的に、私が追加したものは
auth sufficient pam_permit.so
の行から
/etc/pam.d/sudo
ファイルを作成します。以下の例を見てください。
$ cat /etc/pam.d/sudo
#%PAM-1.0
# Fixing ssh "auth could not identify password for [username]"
auth sufficient pam_permit.so
# Below is original config
auth include system-auth
account include system-auth
password include system-auth
session optional pam_keyinit.so revoke
session required pam_limits.so
session include system-auth
おわりに
この解決策にたどり着くまで、4日間を費やしました。私の場合、以下のような、うまくいかない解決策に何十回も出くわしました。 ansible hosts/config ファイルに sudo パスワードが重複している。 , ldap固有の設定です。 いつも不機嫌なシステム管理者からアドバイスを受けることができます。
注意
私はPAMの専門家ではないので、この修正がシステムの他の側面に影響を与えるかどうかはわかりません。したがって、このコードをやみくもにコピーペーストすることには注意が必要です もしあなたがPAMの専門家であれば、代替の解決策や意見を教えてください。ありがとうございます。
関連
-
[解決済み] Forward X11 に失敗しました。ネットワークエラー。接続が拒否されました
-
[解決済み] sshです。ホスト 'ホスト名' の真正性を確立できません。
-
[解決済み] qdel を使用して、私のジョブを 1 つずつではなく、一度にすべて削除してください。
-
[解決済み] Vagrantのssh認証に失敗する
-
[解決済み] エラー missing begin marker の意味するところ
-
[解決済み] pam_unix(sudo:auth): 会話に失敗、auth が [username] のパスワードを特定できなかった
-
[解決済み] SSHキー - まだパスワードとパスフレーズを要求される
-
[解決済み】Ansible の sudo パスワードを指定する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン