验证Linux用户,Python有自带的包python-pam,用法简单,但是有个问题就是无法验证root的用户,所以只能用fabric来代替,当然用fabric来验证的必须保证对方ssh已经打打开了,不然无法验证,闲话少说,代码如下:
from fabric.api import env, run, warn_only
from fabric.state import connections
try:
username = raw_input('>username: ')
password = raw_input('>password: ')
localhost = username + '@localhost:22'
env.host_string = localhost
env.password = password
# 禁止输入错误密码后继续要去i输入
env.abort_on_prompts = True
r = run('ls', warn_only=True, quiet=True)
# 使fabric可以重复验证帐号
if r.succeeded:
connections[localhost].close()
del connections[localhost]
except SystemExit:
message = 'Username or password error.'
print message
except Exception:
print 'Check if your ssh service is open.'