2012年(29)
分类: Python/Ruby
2012-05-18 11:27:52
1.安装
paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。
下载paramiko,地址是
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()