python paramiko使用

1.安装
paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。
下载paramiko,地址是 http://www.lag.net/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.set_missing_host_key_policy(paramiko.AutoAddPolicy())
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()

你可能感兴趣的:(python)