paramiko 命令行

  1. 链接方法:
方式一:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("某IP地址",22,"用户名", "口令")
上面的第二行代码的作用是允许连接不在know_hosts文件中的主机。

方式二:
ssh = paramiko.Transport((“主机”,”端口”))
ssh.connect(username = “用户名”, password = “口令”)
如果连接远程主机需要提供密钥,上面第二行代码可改成:
ssh.connect(username = “用户名”, password = “口令”, hostkey=”密钥”)

方式三:
ssh = paramiko.SSHClient()
#ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
pkey_file=‘/hmoe/kkk/.ssh/id_rsa‘    #设置用户私秘钥路径
key=paramiko.RSAKey.from_private_key_file(pkey_file)
ssh.connect(host,port,user, pkey=key,timeout=5)

2.实例:

In [1]: import paramiko
In [2]: import sys,os
In [3]: host=‘127.0.0.1‘   #sys.argv[1] 第一个参数为主机IP
In [4]: user=‘kkk‘
In [5]: password=‘123456‘
In [6]: cmd=‘ls -l‘
In [7]: s=paramiko.SSHClient()    #绑定实例
In [8]: s.load_system_host_keys()  #加载本地host主机文件
In [9]: s.set_missing_host_key_policy(paramiko.AutoAddPolicy())  #允许连接不在know_hosts文件中的主机(可选项)
In [10]: s.connect(host,22,user,password,timeout=3)  #链接远程主机
In [11]: stdin,stdout,stderr=s.exec_command(cmd)    #一次性的执行命令
In [12]: cmd_result=stdout.read(),stderr.read()     #读取命令结果
In [13]: for i in cmd_result:          
   ....:     print i
   ....:     
total 328452
drwxrwxr-x 3 kkk  kkk       4096 Sep  3 01:54 apache
drwxr-xr-x 3 root root      4096 Sep 17 00:14 blog
drwxrwxr-x 6 kkk  kkk       4096 Sep 21 19:36 ENV
-rw-rw-r-- 1 kkk  kkk        584 Aug 22 03:28 index.html
-rw-r--r-- 1 root root       547 Sep 23 02:48 mping.py
drwxrwxr-x 2 kkk  kkk       4096 Sep 21 18:32 py3
-rw-r--r-- 1 root root       327 Sep 14 13:17 t.log
-rw-rw-r-- 1 kkk  kkk  336299008 Sep 14 09:31 ubuntu_apache2.tar
时间: 2024-10-11 13:21:19

paramiko 命令行的相关文章

ansible-hoc命令行

ansible一种开源的自动化工具 ansible: hoc命令行: 是一款开源的自动化运维工具 python paramiko #模拟ssh协议批量管理主机 jinja2 #模板语言,主要用来传递变量 yaml #相当于是一种编程语言 控制方式: 1. 免密钥:key-gen 参数形式:ansible_ssh_user=root; ansible_ssh_pass=root ansible_ssh_port=22 2. host inventory:记录着客户端的ip信息 调用ansible的

【Windows10 IoT开发系列】Powershell命令行实用程序

原文:[Windows10 IoT开发系列]Powershell命令行实用程序 更新帐户密码: 强烈建议你更新默认的管理员帐户密码.若要更新帐户密码,你可以发出以下命令: net user Administrator [new password]​ (其中 [new password] 表示你选择的强密码). 创建本地用户帐户: 如果你想要授予其他人访问你的 Windows IoT Core 设备的权限,你可以通过在 net user [username] [password] /add​ 中键

windows下cmd命令行显示UTF8字符设置(CHCP命令)

在中文windows系统中,如果一个文本文件是utf-8编码的,那么在cmd.exe命令行窗口(所谓的dos窗口)中不能正确显示文件中的内容.在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集. 如果想正确显示UTF-8字符,可以按照以下步骤操作: 1.打开CMD.exe命令行窗口 2.通过 chcp命令改变代码页,UTF-8的代码页为65001 1 chcp 65001 执行该操作后,代码页就被变成UTF-8了.但是,在窗口中仍旧不能正确显示UTF-8字符

CentOS设置默认启动命令行(不启动图形界面)

CentOS中如何进入图形界面和文字界面,Linux真正的服务器是不会运行图形化界面的,怎么样才能在不卸载桌面的前提下开机直接进入命令界面呢?(我安装的是CentOS 6.5)下面就简单介绍以下: 一.如果要进入图形界面: 1.首先得安装有图形界面,一般为X-window图形界面. 2.启动linux在终端下输入:startx 即可进入X11的图形操作界面. 二.在图形界面还可以在多个界面中进行切换: 在X-window图形操作界面中按"Alt+Ctrl+功能键Fn n=1~6 "就可

如何编写一个带命令行参数的Python文件

看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命令行参数. 首先你要知道python中的sys模块的一些功能: import sys print "the number of python program's argument:",len(sys.argv) print "the value of every argument

JNI之——在cmd命令行下编译执行C/C++源文件

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46604269 一直用java来敲代码,java配置好jre路径之后.在cmd下编译执行.非常方便. 刚好要给一个舍友改下C程序,想到可不能够像java一样在环境变量里配置好C的编译路径呢? 于是上网搜了一下,得到例如以下结果: 一.假设装有VC,那就简单了,由于VC带有C的编译器,能够将此路径设置进环境变量. Windows系统下编译连接源码方法: cl -GX test.c -

调用cmd命令行命令(借鉴)

留待以后观看 ---------------------------------------------------------------------------- public class IP_MAC_TypeHelper { /** * 控制台执行arp -a命令 * * @return * */ public static InputStream getInputStream() { Runtime rt = Runtime.getRuntime(); InputStream in =

MySQL命令行工具

shell> mysql --user=user_name --password=your_password db_name shell> mysql --help shell> mysql -? 选项 --protocol={TCP | SOCKET | PIPE | MEMORY} mysql 命令 有些命令mysql可以自己解释.要查看这些命令,在mysql>提示下输入help或\h 默认mysql>可以重新配置,怎么配置有哪几种方法? 1. 使用环境变量 shell&

Java命令行程序构建工具-airline

以前对于开发Java命令行程序,我都是很头大的,命令行程序麻烦的是解析参数,以及一些帮助信息,今天在研究接口测试时偶然发现了一个工具可以让你快速构建命令行程序 github地址 airline 导入jar包 airline jar 在maven仓库里搜索适合你构建系统的语句 代码 我找了个解析har文件的项目,来讲解开发过程 定制自己的命令行 我的命令行以doctorq作为命令,参数为company,命令的完整格式应该为doctorq company XXXXX. @Command(name="