我不知道這是否可能。但是我可以安裝任何東西或可以創建任何腳本,這些腳本將在我以 root 身份登入我的 Ubuntu 伺服器後執行嗎?一個包含 Ex 的腳本,3 個安全問題
前任。
問:你的生日是幾號?
A :10.10.10 // if not die ban4Life
這可能嗎?謝謝,對不起我的“無知”
答案1
預先考慮:為什麼不堅持使用傳統的基於密碼的身份驗證或更好的方法公鑰認證像其他人一樣?您的解決方案基本上是第二個但更容易猜測的以純文字形式儲存的密碼。自訂身分驗證方案很少會提高安全性,甚至常常會降低安全性。
如果您不喜歡 PAM,您可以將 SSH 設定為使用特定的登入腳本root
。它可能看起來像這樣:
#!/bin/sh
set -eu
while read -rp 'What is your birthday?!' REPLY
do
case "$REPLY" in
'')
# empty input; ask again
;;
'10.10.10')
# Run original command if available or simply the user's log-in shell
exec ${SSH_ORIGINAL_COMMAND-$SHELL -l};;
*)
break;;
esac
done
echo "You're not welcome here. Go away!" >&2
exit 1
將腳本儲存為,例如/root/login-with-birthday.sh
,使其可執行,並確保普通使用者無法讀取該文件,因為它包含秘密 ( chmod 0700
)。然後透過新增規則來告訴sshd
將其用作登入命令/etc/ssh/sshd_config
:
Match user root
ForceCommand /root/login-with-birthday.sh