模块 paramiko

ssh访问

import paramiko

# 创建一个ssh对象
ssh = paramiko.SSHClient()
private_key = paramiko.RSAKey.from_private_key_file("/home/hinimix/.ssh/id_rsa")
# 允许连接不在known_hosts文件上的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname="www.666.com", port=22, username="hinimix", pkey=private_key)
# 执行命令
stdin, stdout, stderror = ssh.exec_command("cat /etc/hosts")

res, err = stdout.read(), stderror.read()
# 获取结果
result = res if res else err
# 关闭连接
ssh.close()

print(result.decode())

sftp访问

import paramiko

# 连接服务器
transport = paramiko.Transport(("nexus.2dupay.com", 22))
transport.connect(username="hinimix", password="Inspiry2016")
# Transport的对象transport作为参数给SFTPClient
sftp = paramiko.SFTPClient.from_transport(transport)
# 上传文件,必须写完整文件路径,不能写文件夹的路径
sftp.put("/home/hinimix/123.sh", "/tmp/456.sh")
# 下载文件
sftp.get("/home/hinimix/789.sh", "/tmp/jqk.sh")

transport.close()
原文地址:https://www.cnblogs.com/hinimix/p/9121835.html