看板 Linux 關於我們 聯絡資訊
公司最近請我研究用ansible批量修改linxu server的密碼 其中有遇到一個問題 當我使用ansible-playbook指令跑yml 會需要SSH到我在/etc/ansible/hosts指定的機器動作 但是會使用root user 都會遇到permission denied的問題 就直接 unreachable 這個問題先前在用ansible部屬K8S的時候有解決 當時是要先到各個被控端 1.輸入passwd root 更改一次密碼 2.編輯 /etc/ssh/sshd_config並新增PermitRootLogin yes 3.重啟sshd systemctl restart sshd 4.ansible端設定無密碼 ssh-keygen (按下4次enter 設定無密碼) 5.ansible端跑 ssh-copy-id root@ip (ip為各個被控端) 就可以ssh root@被控端IP 而K8S node才幾台 去跑上面步驟OK 但我今天是要跑全公司Linux機器 有幾百台... 想問問看有沒有別的方式 其中有想到可能是可以讓ansible用非root去SSH(但不確定會不會遇到SSH可以通 但進去後沒權限的問題) 但是ansible似乎都是用root去ssh 不知道怎麼改 不知道該怎麼解決.... 求大大們指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.6.134 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1672741390.A.D26.html
holishing: 以前我可以用 ansible.cfg 設定 remote_user 01/03 22:06
holishing: 主要是你要確定那個遠端帳號可以提權(become) 01/03 22:08
chang0206: 1. 在安裝系統時,就先指定一個帳號可以做sudo 01/04 11:05
chang0206: 你的被控端已經都設定不接受 root ssh 這個不解 後面就 01/04 11:06
chang0206: 沒沒辦法自動,除非你的每一台機器上面都有一個帳號 01/04 11:06
chang0206: 可以變成root , ansible 可以在inventory檔案指定user 01/04 11:07
chang0206: 或者是用-u user_name 來指定 01/04 11:07
chang0206: 或許該考慮那種可以同時在多個tab下指令的terminal ?? 01/04 11:08
raynoz: c大 我的每一台機器都有一個帳號可以變成root 01/04 15:27
raynoz: 我也有測試ssh到該帳號 並輸入passwd改密碼是OK的 01/04 15:29
raynoz: 但Ansible改密碼的方式似乎不一樣 01/04 15:30
raynoz: 錯誤訊息會顯示usermod: Permission denied 01/04 15:32
raynoz: .\nusermod: cannot lock 01/04 15:32
raynoz: /etc/passwd; 01/04 15:33
LinBuoRen: ansible_become_password 有設定嗎? 01/04 15:58
LinBuoRen: 劇本或劇本改密碼的 task 有設定 become: True 嗎? 01/04 15:58
raynoz: 後來成功了 ansible-playbook指令加參數 01/04 16:21
raynoz: -b --become-user root --become-method sudo 01/04 16:22
raynoz: 剛開始學ANSIBLE 要花時間理解理解了..再次感謝各位大大 01/04 16:22
asdfghjklasd: YP NIS 01/05 00:39
mgdesigner: linxu ? 林蘇?? 01/05 17:23
chang0206: 樓上看好細!! 01/06 09:55