paramiko建立无密码传输认证
2016-07-11 09:58
381 查看
root@datapark2:~# python -V Python 3.4.3 #!/usr/bin/python # -*- coding:utf-8 -*- import paramiko import sys,os home_dir=os.path.expanduser('~') id_rsa_pub='%s/.ssh/id_rsa.pub' % home_dir if not id_rsa_pub: print('id_rsa.pub error!') sys.exit(0) def upload_file(hostname,port,user,passwd): try: s=paramiko.SSHClient() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) s.connect(hostname,port,user,passwd) t=paramiko.Transport((hostname,port)) t.connect(username=user,password=passwd) sftp=paramiko.SFTPClient.from_transport(t) print('create Host:%s .ssh dir......' %hostname) stdin,stdout,stderr=s.exec_command('mkdir ~/.ssh') print('upload id_rsa.pub to Host: %s.....' %hostname) sftp.put(id_rsa_pub,"/tmp/temp_key") stdin,stdout,stderr=s.exec_command('cat /tmp/temp_key >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && rm -f /tmp/temp_key') print('host:%s@%s auth success!\n' %(user,hostname)) t.close() s.close() except Exception as e: import traceback traceback.print_exc() try: t.close() s.close() except: pass def run(): with open('host.txt','r') as f: for i in f: f1 = i.split() hostname,port,user,passwd = f1 upload_file(hostname,int(port),user,passwd) if __name__ =="__main__": run() root@datapark2:/data/python_test# cat host.txt 192.168.31.162 22 root 123456 192.168.31.130 22 root 123456
相关文章推荐
- Python使用Paramiko模块编写脚本进行远程服务器操作
- paramiko模块安装和使用(远程登录服务器)
- python使用paramiko实现远程拷贝文件的方法
- python下paramiko模块实现ssh连接登录Linux服务器
- windows下安装python paramiko模块的代码
- python paramiko实现ssh远程访问的方法
- 使用Cygwin和 mingw 安装 python paramiko模块
- Python使用Paramiko模块编写脚本进行远程服务器操作
- python使用paramiko实现远程拷贝文件的方法
- python paramiko 问题总结
- paramiko socket.error: Int or String expected
- Python编程环境下的SSH远程操作
- ssh 无密码登陆 大坑
- SSH 无需密码登录实现 SCP 信任
- paramiko的安装与使用
- 关于在ubuntu上搭建python paramiko
- paramiko安装
- ssh免密码远程执行sudo命令
- paramiko的两种简单用法,sftp上传下载,执行服务器cmd
- linux下怎么设置主机名登录远程主机