我正在尝试为OPEN SSH实现两级身份验证,其中第一个是ssh公钥和私钥身份验证,第二个是OTP身份验证,我正在使用google身份验证器。一切都按预期工作,直到第一级认证和生成OTP并将其作为第二级输入。 我被困在这里..如果OTP匹配我正在执行命令给用户shell.I我不清楚如果它不匹配我应该做什么因为已经完成了第一级身份验证。我应该如何将用户从shell中注销......?
以下是代码:
if(validate(secretkey,otp)):
print("OTP Matched")
try:
check_call(['/bin/bash'])
except Exception,e:
print("Error Giving Shell to user: "+str(e))
else:
try:
check_call(['/bin/bash'])
check_call(['exit'])
except Exception,e:
print("Error Exiting the user: "+str(e))
print("Authentication Failed")