OPEN SSH に 2 レベルの認証を実装しようとしています。1 つ目は ssh 公開鍵と秘密鍵認証で、2 つ目は OTP 認証であり、Google 認証システムを使用しています。第 1 レベルの認証まではすべてが期待どおりに機能し、OTP を生成して第 2 レベルの入力として供給します。私はここで立ち往生しています.. OTP が一致する場合、ユーザーにシェルを与えるコマンドを実行しています。最初のレベルの認証が既に行われているため、一致しない場合はどうすればよいかわかりません。ユーザーをシェルからログアウトするにはどうすればよいですか...?
以下はコードです:
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")