python中paramiko模块的简单使用

# -*- coding: utf-8 -*-

# 导入paramiko
import paramiko

# 创建ssh对象
ssh = paramiko.SSHClient()

# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接服务器
ssh.connect(hostname='192.168.35.10', port=22, username='root', password='aaaaaaaaa')

# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls -l')

# 获取执行结果
result = stdout.read()
resulterr = stderr.read()

# 关闭连接
ssh.close()
# -*- coding: utf-8 -*-

# 导入paramiko
import paramiko

# 获取私钥
private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')

# 创建ssh对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接服务器
ssh.connect(hostname='192.168.35.10', port=22, username='root', pkey=private_key)
# 获取标准输出和标准错误
stdin, stdout, stderr = ssh.exec_command('/usr/bin/ls -l')

# 读出返回的标准输出和标准错误read()读出的为二进制,所以要decode()编程字符串
result = stdout.read().decode()
resulterr = stderr.read().decode('utf-8')

print(result, resulterr)

ssh.close()

# -*- coding: utf-8 -*-

# 导入paramiko
import paramiko

transport = paramiko.Transport(('192.168.35.10', 22))
transport.connect(username='root', password='redhat')

sftp = paramiko.SFTPClient.from_transport(transport)

# 将本地的  上传至服务器
sftp.put('/root/test/helloworld.py', '/root/helloworld.py')
# 将服务器的 下载到本地
sftp.get('/root/helloworld.py', '/root/helloworld.py')

transport.close()

发布了45 篇原创文章 · 获赞 9 · 访问量 2266

猜你喜欢

转载自blog.csdn.net/adsszl_no_one/article/details/103548832