1.首先安装paramiko以及相应的依赖
2.测试
主机 测试项目
192.168.0.50(net01) Ssh登录
192.168.0.102(net02) Sftp(Secure File Transfer Protocol)
测试项一:ssh登录,查看远程信息
sshclient.py
#!/usr/bin/env python
import paramiko
hostname = '192.168.0.102'
username = 'root'
password = '1'
paramiko.util.log_to_file('syslogin.log')
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=hostname, username=username, password=password)
stdin, stdout, stderr = ssh.exec_command('free -m ')
print stdout.read()
stdin, stdout, stderr = ssh.exec_command('ls -l /home')
print stdout.read()
ssh.close()
测试结果:
测试项二:sftp远程操作
sftpclient.py
#!/usr/bin/env python
import paramiko
username = 'root'
password = '1'
hostname = '192.168.0.102'
port = 22
try:
t = paramiko.Transport((hostname, port))
t.connect(username=username, password=password)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put("/root/source/sshclient.py", "/home/sshclient.py")
sftp.get("/home/test", "/root/source/test")
sftp.mkdir("/home/test02", 0755)
print sftp.stat("/home/sshclient.py")
print sftp.listdir("/home/")
t.close()
except Exception, e:
print str(e)
测试结果
net01主机
net02主机
参考:《python运维自动化》、paramiko官方网站