Python: Paramiko.SSH 远程连接协议

转自:

https://my.oschina.net/jk409/blog/317719

http://www.cnblogs.com/jiqing9006/archive/2013/06/18/3142106.html

1. 链接方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

方式一:

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

 

SSH 协议:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值