paramiko登陆主机代码

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 %[email protected]%s: ‘ % (username, hostname))
        t.auth_password(username, pw)
时间: 2024-12-19 05:22:33

paramiko登陆主机代码的相关文章

ssh登陆主机遇到Host key varification failed故障

ssh登陆主机遇到Host key varification failed故障 解决方法: ssh-keygen -R hostname       #生成新的known_hosts

python机器登陆新浪微博代码示例

前段时间开始学习Python,一直想不到有什么好的小项目可以做,憋得慌,这不, 绞尽脑汁想出了一个爬取新浪微博,并对爬取数据做简单统计的项目.一开始我自以为学习了点Python正则就可以搞定了,熟料在机器登陆上栽了跟头,从完全一头雾水到现在初步登陆获取到数据,整整历经了四五天.因为之前没搞过机器登陆方面的代码,所以这次项目的初步完成完全归功于网上的一些大神,我只是拾人牙慧,拼凑了几个大神的代码,另外加几行注释而已. # import 这边需要注意的是只有一个rsa这个模块是需要install的,

用Python多进程和paramiko给主机组批量分发命令和传送文件

需求: 1.用Python的多线程对主机组批量分发命令 2.需要有传送文件的功能 3.把输出的日志信息写到日志文件(包括正确输出日志,和错误输出日志,包含日志写入的时间) 准备工作: 1.把需要远程控制分发命令的机器(被控端)配置好ssh+key 2.下载第三方模块包 pycrypto-2.6.tar.gz   http://pan.baidu.com/s/1dFHSvcP paramiko-1.10.1.tar.gz http://pan.baidu.com/s/1hrWzg7y 在控制服务器

linux改动登陆主机提示信息

寻常管理着130多台Linux物理主机.真正搞清楚每一台主机的IP信息.应用部署比較麻烦! 所以在部署之初,必须规划好: 写一个脚本.把主机IP.管理员联系方法,应用部署等主机信息放在.sh里面 shell的主要改动地方有2个文件 1.改动/etc/issue(在机房现场操作时.能够依据显示屏提示信息,知道主机应用等) 注意issue參数的使用,对于云主机这一块,个人觉的不改动此选项也能够.反正自己一般也不登陆! 2.改动/etc/motd(远程终端ssh连接时.能够依据终端提示,知道主机应用等

QQ互联OAuth2.0 .NET SDK 发布以及网站QQ登陆示例代码

OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权. QQ登录OAuth2.0采用OAuth2.0标准协议来进行用户身份验证和获取用户授权,相对于之前的OAuth1.0协议,其认证流程

网页登陆框架代码

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> 5 <title>TBUSF System</title> 6 <script type="text/javascript" src="./html_

linux修改登陆主机信息

平常管理着130多台Linux物理主机,真正搞清楚每一台主机的IP信息,应用部署比较麻烦! 所以在部署之初,必须规划好: 写一个脚本,把主机IP,管理员联系方法,应用部署等主机信息放在.sh里面 shell的主要修改地方有2个文件 1.修改/etc/issue(在机房现场操作时,可以根据显示屏提示信息,知道主机应用等) 2.修改/etc/motd(远程终端ssh连接时,可以根据终端提示,知道主机应用等)

密钥验证登陆主机

学习简记 密钥分为两种:对称密钥与非对称密钥两种密钥根据密码算法所使用的加密密钥和解密密钥是否相同.能否由加密过程推导出解密过程(或者由解密过程推导出加密过程),可将密码体制分为对称密码体制(也叫作单钥密码体制.秘密密钥密码体制.对称密钥密码体制)和非对称密码体制(也叫作双钥密码体制.公开密钥密码体制.非对称密钥密码体制).对称密钥加密,又称私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据.它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难.

expect脚本远程登陆主机并记录日志

实现了远程登陆,并且记录日志 #!/bin/bashuser=root exec_expect(){expect -c "log_user 0spawn ssh $2expect \"assword\"send $3\rexpect \"127\"set timeout 5send \"netstat -anput | grep 80 \r\"expect -re {(.*)(:80)}send_user \"\$expect