Linux 系統管理 SSH Script 自動化暗黑筆記


前陣子搞了很多持續整合,為了達到系統自動化佈署與測試,除了 Docker 以外還用了很多奇怪的 Linux Shell Script 來實現自動化,今天記錄一下自動化的奇技淫巧,或許哪天自己忘記可以查查筆記。

透過 Linux Script 命令直接設定並修改使用者密碼

echo ${USERNAME}:${PASSWORD} | chpasswd
echo -e "${PASSWORD}\n${PASSWORD}" | passwd ${USERNAME}

略過 Host Key Check 執行 ssh, scp, ssh-copy-id

當第一次透過 SSH 連線到其他主機時,都會出現是否加入該主機的 Public Key,作為後續登入的驗證檢查,但有時候開發安裝程式或 CI/CD 的時候就需要繞過這個檢驗,最好的方法就是事先置入公鑰。如果真的沒有辦法,可以透過「-o StrictHostKeyChecking=no」參數來略過檢查,也是很方便的。

ssh -o StrictHostKeyChecking=no
scp -o StrictHostKeyChecking=no
ssh-copy-id -o StrictHostKeyChecking=no

透過 sshpass 自動輸入 SSH 密碼

除了上述的 Host Key Check 之外,在沒有預先 Copy Public Key 的情況下,SSH 還會需要輸入「密碼」,如果你的 CI/CD 佈署 Script 想要自動輸入的話,可以透過 sshpass 命命來完成,如下:

sshpass -p ${SSH_PASSWORD} ssh username@192.168.0.1

sshpass -p ${SSH_PASSWORD} scp file username@192.168.0.1:

噁心的 Script 就先這樣,以後有新的黑暗技會再補充。

這是真的廣告

白金贊助

平價童鞋首選