Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192648
  • 博文数量: 29
  • 博客积分: 731
  • 博客等级: 上士
  • 技术积分: 435
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-06 16:18
文章分类

全部博文(29)

文章存档

2012年(29)

分类: Python/Ruby

2012-05-18 11:27:52

1.安装

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。

下载paramiko,地址是

  • 解压缩
  • cd path;
  • python setup.py build
  • python setup.py install

 

2.使用

1.使用密码的SSH连接

import paramiko

hostname = '192.168.0.1'
port = 22
username = 'username'
password = '123456'
paramiko.util.log_to_file('paramiko.log')
s = paramiko.SSHClient()
s.load_system_host_keys()
s.connect(hostname,port,username,password)
stdin,stdout,stderr = s.exec_command('df -h')
print stdout.read()
s.close()

由于第一种方式采用密码交互方式登陆远程服务器,使用起来不安全,下面这种方式采用KEY的方式登陆远程服务器,非常安全。

 

2.连接SSH服务器并远程执行命令-使用rsa私钥加密方式创建SSH连接

A.生成KEY

Linux # ssh-keygen –t rsa

B.创建SSH连接

import paramiko

hostname = '192.168.0.1'
port = 22
username = 'username'
pkey_file = '/home/username/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(pkey_file)
s = paramiko.SSHClient()
s.load_system_host_keys()
s.connect(hostname,port,username,pkey=key)
stdin,stdout,stderr = s.exec_command('df -h')
print stdout.read()
print stderr.read()
s.close()

 

3.连接SSH服务器并远程执行命令-使用dsa私钥加密方式创建SSH连接

A.生成KEY

Linux # ssh-keygen –t dsa

B.创建SSH连接

import paramiko

hostname = '192.168.0.1'
port = 22
username = 'username'
pkey_file = '/home/username/.ssh/id_dsa'
key = paramiko.DSSKey.from_private_key_file(pkey_file)
s = paramiko.SSHClient()
s.load_system_host_keys()
s.connect(hostname,port,username,pkey=key)
stdin,stdout,stderr = s.exec_command('df -h')
print stdout.read()
print stderr.read()
s.close()

阅读(2587) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~