码迷,mamicode.com
首页 > 其他好文 > 详细

paramiko登陆主机代码

时间:2017-08-16 15:18:04      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:python   paramiko   auth   code   

def manual_auth(username, hostname):
    default_auth = ‘p‘
    auth = input(‘Auth by (p)assword, (r)sa key, or (d)ss key? [%s] ‘ % default_auth)
    if len(auth) == 0:
        auth = default_auth

    if auth == ‘r‘:
        default_path = os.path.join(os.environ[‘HOME‘], ‘.ssh‘, ‘id_rsa‘)
        path = input(‘RSA key [%s]: ‘ % default_path)
        if len(path) == 0:
            path = default_path
        try:
            key = paramiko.RSAKey.from_private_key_file(path)
        except paramiko.PasswordRequiredException:
            password = getpass.getpass(‘RSA key password: ‘)
            key = paramiko.RSAKey.from_private_key_file(path, password)
        t.auth_publickey(username, key)
    elif auth == ‘d‘:
        default_path = os.path.join(os.environ[‘HOME‘], ‘.ssh‘, ‘id_dsa‘)
        path = input(‘DSS key [%s]: ‘ % default_path)
        if len(path) == 0:
            path = default_path
        try:
            key = paramiko.DSSKey.from_private_key_file(path)
        except paramiko.PasswordRequiredException:
            password = getpass.getpass(‘DSS key password: ‘)
            key = paramiko.DSSKey.from_private_key_file(path, password)
        t.auth_publickey(username, key)
    else:
        pw = getpass.getpass(‘Password for %s@%s: ‘ % (username, hostname))
        t.auth_password(username, pw)


本文出自 “kaman” 博客,请务必保留此出处http://3155037.blog.51cto.com/3145037/1956578

paramiko登陆主机代码

标签:python   paramiko   auth   code   

原文地址:http://3155037.blog.51cto.com/3145037/1956578

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!