我不知道这是否可行。但我可以安装任何东西吗?或者可以创建任何脚本,在我以 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